|
|
I wanted to get these sets of classes finished, but right now I'm just too tired to even look at the code. I think I'm gonna call it a night, day, mornin... oh whatever...
|
|
|
|
|
Hi
I have a basic question about MFC.
There are methods in MFC which are in overrides section or Message Section.
What is the difference?
For example: For CView class
OnDraw is in overrides section. But OnDrawItem is in messages section.
Why is it so?
What is the concept/logic behind this?
I hope i could explain my question.
Thanks
|
|
|
|
|
The overrides section implies virtual methods that derived classes can override and/or
the class has derived from its base class.
The messages section (which I don't see in the VS 2005 MFC reference) would be for
methods that handle Windows messages (WM_xxx).
A select few Windows messages are handled and rerouted via a virtual
method. CDialog::OnInitDialog() is one (in fact, I can't think of any others off hand).
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thank you.
Overrides are virtual functions as you said. But i couldn't understand the rule for a event/function/message etc.. is defining in overrides part or Messages part in Properties window.
I asked for the concept.
For example for CMainFrame class; OnNotify is virtual(in Overrides) but there is a window message that is WM_NOTIFY so why isn't it in messages section in Properties window.
Thanks again.
|
|
|
|
|
WM_NOTIFY/OnNotify() is another message that MFC catches and reroutes virtually.
WM_COMMAND is another.
I'm not sure why some are done this way and others are not. I can see why every possible
WM_xxx message isn't dispatched through a virtual call, but I'm unsure why every message
isn't handled the same. Maybe to insure MFC gets first crack at those messages?
I guess it works out nicely internally in MFC, but for us it's just inconsistent.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
The thing I don't understand is why the overrides don't populate when user classes derived from user classes have virtual methods, even if they are derived from CObject. It doesn't list the virtual methods except those of CObject. It's almost like it's based on a lookup table and is hardly dynamic.
|
|
|
|
|
Do you mean virtual functions that we add - so we could go to the overrides list and
click to insert a stub in the source code?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Virtual functions that we add to our base classes.
If we create a base class (derived from CObject for instance), add some virtual functions, then derive a class from it, select the derived class, and in the overrides list, only those virtual functions that are in CObject show up currently.
I had expected it to show the virtual functions from any super class but it doesn't appear to work that way.
Not that it's really a big deal, but it struck me as odd. Maybe I'm missing something but I played with a few variations of class hierarchies and it does not appear to pick up on them.
Just a passing comment, by the way.
|
|
|
|
|
It just means that the Intellisense parser ain't that smart.
Software Zen: delete this;
|
|
|
|
|
Hello,
Anybody knows some skin tool to became my APP skinable?
I found SkinCrafter and AppFace? Anybody knows these?
Thanks,
Cris.
|
|
|
|
|
|
Thanks Paresh!!
Do you know this tool?
I am receving the message:
"
----------------------------------------------------------------------------------------------
The evaluation version of the toolkit only supports DLL configurations.
To purchase the full version (with static link support) please visit http://www.codejock.com
----------------------------------------------------------------------------------------------
c:\arquivos de programas\codejock software\mfc\xtreme toolkitpro v11.1.3 for visual studio 6.0\source\xttoolkitpro.h(222) : fatal error C1189: #error : This build configuration is not supported by the evaluation library
"
Can't I test before buy?
[]'s
Cris.
|
|
|
|
|
Hey Friends
Is it possible to read data from another application's owner draw control?
Regards
|
|
|
|
|
1. get the pixels
2. use OCR to figure out what letters they represent
|
|
|
|
|
Thanks a lot
Here the disadvantage i see is that the screen must be displayed always
Is OCR the only way out?
|
|
|
|
|
unles you can convince that application to draw to an off-screen DC< you don't have a choice.
|
|
|
|
|
Hello,
I'm trying to stream data from a microcontroller and I think I have found problem. The data does not stream consistently so it will sometimes send a bunch of packets(5 byte packet) at once and then sometimes send them individual. When the speed at which they come in changes the data seems to become corrupted as only a couple of packets are wrong and then the data continues streaming properly again. I have no idea of what is going wrong here.
I'm using the CSerial library and using the CSerialMFC for the notifications, and just a simply read on event received. Any idea of what could be going wrong here would be great.
Thanks
Simon
|
|
|
|
|
I'm also using a baudrate of 115200, thought that might help a bit cause I have heard and read people have problems with higher baudrates.
|
|
|
|
|
Well yes and no. Serial anything, especially low level serial port, can be problematic, but data corruption is highly unusual. I can only tell you what I would do. I would write a small test program (or use the current program - easier) that creates/opens a file during start up and then add code that writes to it every time you receive any data at the lowest level. If there is corruption at that level then you have a major problem, which only the current programmer (you) can solve, usually by writing your own version of that unknown piece of code. If there is no corruption at that level (normal), then you need to start working you way up, adding new code to write to the file, until you see corruption. At that point you can limit the file writing code to what shows good data and bad data. Keep adding file writing code until you have the offending code in sight and then add file writing code to each line of the offending function (if you do not see the problem).
I suspect that you know all that already, but it is the best I can do without the code.
P.S. Remember to delete the temporary file after you have found the problem and post the results (to the author of CSerial or what ever).
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
do{
SerialLib.Read(recvbuf, 5, &BytesRead);
if(BytesRead == 0)
return 0;
for(i=0; i<int(BytesRead); i++)
storebuf[i] = recvbuf[i];
TotalBytes = int(BytesRead);
while(TotalBytes <5){
BytesNeeded = 5 - BytesRead;
SerialLib.Read(recvbuf, BytesNeeded, &BytesRead);
for(i=TotalBytes; i<int(TotalBytes+BytesRead); i++)
storebuf[i] = recvbuf[i];
TotalBytes += int(BytesRead);
}
recievedbytepackage.byte0 = storebuf[0];
recievedbytepackage.byte1 = storebuf[1];
recievedbytepackage.byte2 = storebuf[2];
recievedbytepackage.byte3 = storebuf[3];
recievedbytepackage.byte4 = storebuf[4];
TotalBytes = 0;
}
while(BytesRead > 0);
This is the code that I'm using to read the data, and the problem is being caused in here as we have another program written in TCL that recieves that date from the controller just fine so we know it's not a hardware issue.
Any help would be great thanks.
|
|
|
|
|
Hi all,
I have CListBox with selection set to Extended in resource editor.
In my prog I need to set selection to single.
Please point me, how can I do this?
|
|
|
|
|
Remove the LBS_MULTIPLESEL style.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
* waiting for the other shoe *
|
|
|
|
|
This one doesn't work
m_listFiles.ModifyStyle( 0, LBS_EXTENDEDSEL | LBS_MULTIPLESEL );
|
|
|
|