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

SDK编程,程序界面都是非模态对话框的有关问题

2012-03-14 
SDK编程,程序界面都是非模态对话框的问题SDK编程非模态对话框的消息要进入程序的消息队列。消息循环需要这

SDK编程,程序界面都是非模态对话框的问题
SDK编程

非模态对话框的消息要进入程序的消息队列。消息循环需要这么写:
while(GetMessage(&msg,NUll,0,0)
{
  if(hDlgModeless == 0 || !IsDialogMessage(hDlgModeless, &msg)
  {
  TranslateMessae(&msg);
  DispatchMessage(&msg);
  }
}

但是如果我的程序是由三个或者以上的非模态对话框组成的,其中一个非模态对话框作为主操作界面,这种情况下消息循环该怎么写呢?

[解决办法]
while(GetMessage(&msg,NUll,0,0)
{
if(!IsDialogMessage(hDlgModeless, &msg) && !IsDialogMessage(hDlgModeless1, &msg) &&
!IsDialogMessage(hDlgModeless2, &msg) && !IsDialogMessage(hDlgModeless3, &msg))
{
TranslateMessae(&msg);
DispatchMessage(&msg);
}
}

[解决办法]
应该写吧.
因为还有WM_SYSCOMMAND等消息需要翻译分发...
[解决办法]

探讨

知道了,原来对话框也可以收到这个消息:

C/C++ code
case WM_DESTROY:
PostQuitMessage(0);
return TRUE;

热点排行