Re: Yay. It works!
Your probably right. I haven't gotten to that point just yet.
Like I said, I have not tested it in a Dialog.
The odd thing is that if I don't comment out the =
The messages go directly to the View.
The control has the "Focus", (Need a different word) but the WM_KEYDOWN =
messages are going to the View.
I'm not sure what makes a window "Active", or if it even cares.
I think it is just another rect and somewhere in the background, it does =
Well then, send mouse messages to that Window.
I don't know exactly what is going on just yet.
I can open a dialog, or any other window and whatever window/control =
gains the focus.
and when I come back to my control, it has focus.
(Note that I do not call set focus again. I only call SetFocus once.)
So, that wouldn't be right if it works like your thinking, which sounds =
correct, I might add.
Maybe it is working like OnMouseMove().
If somehow, WM_MOUSEMOVE is disabled, the control would never get the =
(That could be very well be the case in a static text control, hence the =
SS_NOTIFY ... for keyboard messages )
but, you don't have to call SetFocus() for mouse messages, yet the mouse =
messages still work in other windows,
That could be very well what is going on.
I could just be enabling Keyboard messages to go to my control instead =
of SetCapture() which keeps the messages
from propagating, which is what you and I are thinking.
That is the best I can figure so far.
I'll put the control in a dialog and let you know how things go.
Heck, I am happy I got this far.
Something interesting as far as controls go.
Do you know who sends WM_INITDIALOG or WM_INITIALUPDATE.
That is kind of bugging me. CFrameWnd::OnInitialUpdate() might be doing =
it for the View, but I am not sure
who sends the message to the dialog?
P.S.S. Some beer speak. Rambling on...
"David Ching" <firstname.lastname@example.org> wrote in message =
I'm still not sure if it is correct behavior for a control to set =
itself on creation. What if the caller doesn't want that? What if =
are 2 or more instances of the control in the dialog; which one should =
focus? The caller (i.e. dialog) needs to have control of this! The =
would be a mess if all the controls in the dialog tried to grab focus =
"Nobody" <Nobody@yahoo.com> wrote in message
I had to comment out the CWnd::OnKillFocus(). I guess that prevents if =
like it shows here http://www.winterdom.com:80/dev/mfc/PopupEdit.cpp
#include <afxpriv.h> //for WM_INITs
/* If in a dialog */
/* If in a view */
Control::InitialUpdate(WPARAM wParam, LPARAM lParam)
void Control::OnKillFocus(CWnd* pNewWnd)
I haven't tested it in a dialog yet.