> It appears that the WM_CHAR message aren't passed down to my MFC created
> dialog box. I use Dialog::CreateIndirect. I've subclassed the Dialog
> class. I looked at the messages via Spy and only saw WM_COMMAND message
> going to the Frame. No WM_CHAR anywhere. I'd like to trap a keystroke
> and substitute another for it.
> Any suggestions?
The dialog box routines handle WM_CHAR messages on their own, due to
complexities of control focus and navigation. With a modal dialog box
that is done in a message loop that is part of DialogBox(). In your case
you apparently have a mode-less dialog so you still have your own
message loop running and the dialog stuff is handled in
IsDialogMessage(). You may be able to handle (some) WM_CHAR messages
before you call IsDialogMessage().