分类:
2006-06-12 16:38:41
一、概述
使用DialgBox建立的对话框是“模式对话框”,只有关闭对话框后,程序的其他窗口才能进行操作。
与此相对应,存在“非模式对话框”,对话框建立后,并不强制要求用户立即反应,而是与其他窗口同时接受用户操作。
二、建立
非模式对话框使用CreateDialg建立。
可以在WinMain中建立主窗口后建立,对话框句柄保存备用。
hDlgModeless = CreateDialog (三、消息循环添加针对非模式对话框的处理
hInstance,
TEXT ("ColorScrDlg"), //对话框模板
hwnd,
ColorScrDlg //对话框消息处理函数
);
while (GetMessage (&msg, NULL, 0, 0))
{
if (hDlgModeless == 0 || !IsDialogMessage (hDlgModeless, &msg))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
}
四、非模式对话框的销毁
使用:
DestroyWindow (hDlg);用户关闭对话框时,对话框消息处理函数将收到WM_CLOSE消息,接到后调用DestroyWindow以销毁非模式对话框。