首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

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

2012-09-18 
非模态对话框,esc键为啥不好用了呢?我用VS2010 使用win32 api开发,在主窗口上点击按钮创建了一个非模态对

非模态对话框,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); 

热点排行