> Is anyone out there an expert in Windows focus handling?
> 
> I have problems with our application and the focus handling in places.
> 
> Basically it seems to me that there is some sort of logic in windows
> whereby 
> the code calls PostMessage (WM_SETFOCUS) but the result is that the parent
> of 
> the target window receives WM_COMMAND EN_SETFOCUS instead.
> 
> Does anyone know anything about such translations?

>From MSDN:

The EN_SETFOCUS notification message is sent when an edit control receives
the keyboard focus. The parent window of the edit control receives this
notification message through a WM_COMMAND message. 

LRESULT CALLBACK WindowProc(
  HWND hwnd,       // handle to window
  UINT uMsg,       // WM_COMMAND
  WPARAM wParam,   // edit control identifier, EN_SETFOCUS
  LPARAM lParam    // handle to edit control (HWND)
);
Parameters
wParam 
The low-order word specifies the edit control identifier. 
The high-order word specifies the notification message. 

lParam 
Handle to the edit control. 
Remarks
The parent window will always get a WM_COMMAND message for this event, it
does not require a notification mask sent with WM_SETEVENTMASK.

Rich Edit: For information about the compatibility of rich edit versions
with the various system versions, see About Rich Edit Controls. 



Reply via email to