DialogBox的回调函数如何接收WM_KEYDOWN消息
比如如下代码段,我想先显示DIALOGBOX出来,但是应该怎么写才能接收到WM_KEYDOWN消息呢?
- C/C++ code
BOOL CALLBACK CalcDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ DialogBox(hInstance, TEXT("CALCDIALOG"), NULL, CalcDlgProc);}BOOL CALLBACK CalcDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){ switch(message) { case WM_KEYDOWN: //....... } ....}[解决办法]
DialogBox 的对话框是永远也收不到 WM_KEYDOWN 消息的.
用非模态的对话框来模拟下模态对话框的行为吧.
[解决办法]
只能试试SetWindowLong修改窗口一些属性了
[解决办法]
模式对话框的WM_KEYDOWN消息的处理应该是windows接手了。
[解决办法]
用CreateDialog()创建一个非模态对话框