Okay, I'm guessing no one else has any other ideas how to fix this??? Because the issue still isn't resolved...and I still don't know what to do to fix it.
In my previous post I posted my message loop which shows that I use the
TranslateMDISysAccel function...which I believe may be the problem, because MSDN states:
QUOTE
The TranslateMDISysAccel function processes accelerator keystrokes for window menu commands of the multiple-document interface (MDI) child windows associated with the specified MDI client window. The function translates WM_KEYUP and WM_KEYDOWN messages to WM_SYSCOMMAND messages and sends them to the appropriate MDI child windows.
I have attempted to capture the WM_SYSCOMMAND, but it is only run when closing a child window. For simplicity's sake, I only put this code:
CODE
case WM_SYSCOMMAND:
MessageBox(NULL, "Echo.", "It won't work.", MB_OK);
default:
return DefMDIChildProc(hwnd, msg, wParam, lParam);
The default case was already there, but I posted it to show that I allow it to run the default processes after displaying the messagebox.
As I already stated I have tried this with WM_CHAR, WM_KEYUP, WM_KEYDOWN, and I've also tried WM_DEADCHAR, WM_SYSCHAR, WM_SYSDEADCHAR, WM_SYSKEYUP, WM_SYSKEYDOWN, in addition to WM_SYSCOMMAND.
The only time the messagebox was displayed, was, as I stated, when I used WM_SYSCOMMAND and closed the child window.
Any further assistance would be
greatly appreciated.