|
Grahamfff wrote:
Also I cannot store away the address of bit fields
That's correct. This is prohibited by the C standard. This is simply because if the field starts part-way through a byte, there is no way the compiler can take its address - it has to be on a byte boundary.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
If anyone can help me with a character counter, I would be very appreciative.
I have a Rich Text Edit box in an MFC app. I would like to limit the number of characters a user enters by having a "Characters Left" count box below my edit box indicating how many additional characters the user has left. This counter chould be dynamic enough so users would actually see the number decrement by one for each character typed, and if they deleted a 5 letter word, it should go up by 5.
In addition, when the counter is 0, the edit box should not allow any more input.
This should be similar to the java script done on many HTMLs.
Anyone ever done this before in C++ MFC? Can anyone provide me with a suggestion on where to begin?
Thank you!!!
|
|
|
|
|
Hi!
the "normal" edit control has a method, that allows you to set the maximum input len. So I guess, the RichEditControl has some similar method.
and then, you can catch the TEXT_CHANGED message
(don't know the correct name ) , get the text from the control, calculate the Len and update your "counter" control.
|
|
|
|
|
Yea, I know the "concept" behind what I need to do, I just cant find any specifics. TEXT_CHANGED is nice, but again, the real name alludes me. I simply cannot find it and I am getting a little frustrated.
|
|
|
|
|
It seems, you must derive a class from CRichEditCtrl and catch the WM_KEYUP message. Don't know why, but my parent window don't get any messages from the RichEdit
|
|
|
|
|
Yea, it seems that the parent window doesn't get the KEYUP message with me either and that was the problem I was having.
I solved this problem by adding a message handler to the IDC_EDIT for EN_CHANGE messages. That worked great. I dont understand how or why it works with a rich edit, but who knows...and at this point who cares.
Its done!
Thanks for the help.
|
|
|
|
|
I have a MDI app which has a feature to allow the child frame to be outside of the mainframe, the child frame is clipped by main frame by default.
how should i implement it?
Thanks.
I love C++
|
|
|
|
|
I've been experiencing a strange anomaly at runtime with a Windows API based exe.
When stepping through my WinMain function, I realised that the arguments passed to it by Windows (HINSTANCE, HINSTANCE, CHAR*, INT) are basically corrupted. The two HINSTANCEs are always 0 and the last two arguments are different every time (ex. -15423002).
Has anyone else encountered this sort of problem?
Note:I had a linking error before: 'unresolved external wWinMainCRTStart' or something like that that I kludged by setting the property Advanced>Entry Point to 'WinMain'; could this be the reason? By the way I used VS.NET 2003 to compile and link.
kern
|
|
|
|
|
KernKraft33 wrote:
Note:I had a linking error before: 'unresolved external wWinMainCRTStart' or something like that that I kludged by setting the property Advanced>Entry Point to 'WinMain'; could this be the reason? By the way I used VS.NET 2003 to compile and link.
Sounds like a reasonably bet to me. Mind you I'm not using VS.NET.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
The answer would be yes. The prototype of wWinMainCRTStart is "int x (void)". So replacing that with a "int (HI, HI, CHAR*, int) routine would result in all sorts of funning things going on.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
I have a dialog app, i use the OnMouseWheel to modify the pos of an slider control. This is the problem i have: it only works only if i hold the shift or the ctrl key pressed, or if i press any button before trying to use the wheel. Any suggestion,please ?
|
|
|
|
|
While implementing PrintPreview how can i find out of the user is zooming in the PrintDialog .
My Code is seeing this as a request to print the next page . so if you have 2 pages 1 and 2 . When u select Print Preview , one gets to see Page 1 unzoomed , when I zoom using the Button , the OnPrint method is called again and Page 2 is drawn (inspite of the status bar showing Page 1) . The behaviour that I want is Page1 being redrawn again .
Can I get this info from the CPrintInfo pointer ?
Engineering is the effort !
|
|
|
|
|
I am a student at DeVry University and i'm working on my senior project. We are making an iris scanner that takes a picture of the eye and we manually click points to be compared with pictures saved in the memory and determine wether or not that person gets access. What we are trying to do is get a picture from a camera that is uncompressed and compress it into a picture format probably .bmp because it's easier to work with in MFC.
We are trying to make and MFC gui that will receive the picture serially from the camera or from a pre-defined location on the hard drive and display it to the screen. Then we want to be able to click anywhere on the picture and get the X and Y coordinates and the color of that certain pixel. Now I have been looking for serial communication and picture display examples, but the serial examples are very different from one to another and I don't really understand what is all needed to just set it up to receive data like when a button is pressed or when it receives and event.
The picture display examples I have seen all want you to already have the pictures and none of them show you how to open a picture from a file or just automatically display the picture from a pre-defined location. Also I was looking at a function that formats a picture from a stream of data, but i'm not sure what format the picture is comming in from the camera.
It is a CCD camera that is analog so we are running it through an ADC to make it digital but we don't know what format the picture is comming in as becuase it is a full motion camera so we will have to activate it and de-activate it and catch that data stream. So we are kind of lost because all of this stuff is new to us besides the programming that will be done on the microcontroller. We have done C++/MFC/C but we haven't used any of these functions or procedures so if ANYONE can help me I would greatly appreciate it.
Thanks,
Jeremie Jackson
|
|
|
|
|
well, I sure dont have the answer to ur questions, but have a suggestion to make. Why dont u try organising ur huge question into paragraphs, so that will improve its readability!!!
Also I didnt get what u meant by the following:
JeremieJ wrote:
The picture display examples I have seen all want you to already have the pictures and none of them show you how to open a picture from a file or just automatically display the picture from a pre-defined location.
Good Luck with ur project.
Mahadevan.
|
|
|
|
|
I mean that they want you to code the picture into the program and they don't show you how to open a picture from the hard drive and display it to the screen or automatically display a picture to the screen when u press a button. You know like open a picture and display it to the screen like paint.
|
|
|
|
|
I am trying to write some C++ code (on a Linux machine) that will allow me to join a multicast group. I have successfully coded and compiled a basic program using setsockopt() and the optnames IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
I am aware that without notifying the router (via the IGMP protocol) I am limited to receiving only multicasts originating from hosts on my side of the router.
My question is....Has my call to setsockopt() automatically sent and IGMP packet to the router? If not, does anyone have any C++ code that demonstrates the implementation of the IGMP protocol?
Thanks!!
Cameron
|
|
|
|
|
byrd_cam wrote:
Has my call to setsockopt() automatically sent and IGMP packet to the router?
It should, in theory. Supposedly, the network card (or driver) is supposed to take care of this. In practice however, some don't. I'm not sure if Linux guarantees that the IGMP messages are sent, but I do know that Solaris and some other Unix's don't.
Not sure if that helps
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Hi ,
I am trying to implement PrintPreview in my SDI App. Basically I want to print a log and I have the DataStructure set up to provide me with a line by line text input that I use in the OnPrint Method.
Due to the fact that these lines of text may exceed a Page's width , i have a variable that helps me keep track of lines and I move on to the next page .
Everything draws ok , but the page Numbers (shown in the preview Dialog) are messed up
page 1 instead of page 2 and vice versa , but sometimes it seems allright . Plus at this moment i cannot get the page numbers to get displayed on the preview ? How do i achieve this ? and a solution to my previous problem
Thanks
Engineering is the effort !
|
|
|
|
|
Hi there,
I know that it's bad coding practice to have public data members but what if you have a private struct containing about 10 fields. If I create a public struct containing the exact same fields and assign values you to them say from a form, can I pass that public struct as a parameter to the mutator method to set the private data members to? If the struct is public, I guess I don't need to pass it to the mutator. It can just be referenced within the method named for example Get_Data(). I included a snippet of code below:
public:
struct Data_1
{
int name;
int age;
//several other fields
};
Data_1 data1;
Get_Data();
Put_Data();
private:
typedef struct
{
int name;
int age;
//several other fields
}Data_2;
Data_2 data2;
void Get_Data()
{
data2.name = data1.name;
data2.age = data1.age;
}
void Put_Data()
{
data1.name = data2.name;
date1.age = data2.age;
}
Values of fields within the public structs are assigned to member variables in a form. Once set, the data in the private struct will then be written to a file. Am I doing this right or have I violated the coding convention?
Thanks!
|
|
|
|
|
I have an enum that I'm trying to declare in my App, that will be accessed by the other dialogs and such in the project. However I keep getting the following error message: error C2061: syntax error :identifier 'MODE'
I've tried to do this before and ended up doing a workaround. I'd rather do it the right way and have never seemed to get the hang of it. Here's what I have in my class definition, with the line it specifies in bold:
class CBugReporterApp : public CWinApp
{
public:
CBugReporterApp();
enum _MODE {NEWMODE,EDITMODE,BROWSEMODE} ;
_MODE MODE;
public:
virtual BOOL InitInstance();
afx_msg void OnAppAbout();
DECLARE_MESSAGE_MAP()
void SetAppState(MODE enumState); MODE GetAppState(void);
private:
MODE m_enumState;
};
I know it's something very stupid, but I can't figure out what I'm doing wrong. Any help would be appreciated. Thanks in advance
[insert witty comment here]
bdiamond
|
|
|
|
|
bdiamond wrote:
I know it's something very stupid...
No, just something you may not have thought of. The enum keyword is not like typedef in that you also have to declare an actual variable of the new type before it can be used. So, just remove the _MODE MODE; statement, and change the three references to MODE to be _MODE instead. Make sense?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
I tried that first with just 'MODE' as the name of the enum like this:
class CBugReporterApp : public CWinApp
{
public:
CBugReporterApp();
enum MODE {NEWMODE,EDITMODE,BROWSEMODE} ;
public:
virtual BOOL InitInstance();
afx_msg void OnAppAbout();
DECLARE_MESSAGE_MAP()
void SetAppState(MODE enumState);
MODE GetAppState(void);
private:
MODE m_enumState;
};
but I get this errormessage:
error C2248: 'CBugReporterApp::GetAppState' : cannot access protected member declared in class 'CBugReporterApp'
[insert witty comment here]
bdiamond
|
|
|
|
|
error C2248: 'CBugReporterApp::GetAppState' : cannot access protected member declared in class 'CBugReporterApp'
What line generates that error? That seems to be something else - this code fragment looks much closer to being correct than the first one you posted.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
please see post below in response to DavidCrow's question. Thanks!!
[insert witty comment here]
bdiamond
|
|
|
|
|
You'll need to provide the relevant code for the GetAppState() method.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|