读书人

非模态对话框esc键为何不好用了呢

发布时间: 2012-09-18 16:21:42 作者: rapoo

非模态对话框,esc键为啥不好用了呢?
我用VS2010 使用win32 api开发,在主窗口上点击按钮创建了一个非模态对话框,我自己写了对话框的窗口过程,
也添加了处理ESC消息的代码,内容是退出对话框,,为啥不好用呢,就似非模态对话框弹出来后,点ESC也不会消失。。

[解决办法]

C/C++ code
while (GetMessage(&msg, NULL, 0, 0)){   if (!IsDialogMessage(hwnd, &msg))   {      TranslateMessage(&msg);       DispatchMessage(&msg);     }}
[解决办法]
加上IsDialogMessage后,按ESC时会发WM_COMMAND给对话框,ID为2,相当于按下取消按钮

C/C++ code
case WM_COMMAND:   switch (wParam)   {      case MAKEWPARAM(IDCANCEL, BN_CLICKED):        DestroyWindow(hwnd);   }case WM_DESTROY:  PostQuitMessage(0); 

读书人网 >VC/MFC

热点推荐