有一个小程序,其中有两个菜单项分别创建模态和非模态对话框,代码如下:
case ID_CREATEDIALOG_MODAL:
DialogBox(hInst, MAKEINTRESOURCE(IDD_MODALBOX), hWnd, ModalBoxProc);
break; case ID_CREATEDIALOG_MODELESS:
if(hModelessDlg != NULL)
{
DestroyWindow(hModelessDlg);
hModelessDlg = NULL;
}
else
{
hModelessDlg = CreateDialog(hInst, MAKEINTRESOURCE(IDD_MODELESSBOX),
hWnd, ModelessBoxProc);
ShowWindow(hModelessDlg, SW_SHOW);
UpdateWindow(hModelessDlg);
}
break;
单独创建时都表现良好,但是当先创建非模态再创建模态时,活动窗口竟然可以在两个对话框中切换,并且模态性也相互转移,请问
这是系统特性吗?还是其他原因?
case ID_CREATEDIALOG_MODAL:
DialogBox(hInst, MAKEINTRESOURCE(IDD_MODALBOX), hWnd, ModalBoxProc);
break; case ID_CREATEDIALOG_MODELESS:
if(hModelessDlg != NULL)
{
DestroyWindow(hModelessDlg);
hModelessDlg = NULL;
}
else
{
hModelessDlg = CreateDialog(hInst, MAKEINTRESOURCE(IDD_MODELESSBOX),
hWnd, ModelessBoxProc);
ShowWindow(hModelessDlg, SW_SHOW);
UpdateWindow(hModelessDlg);
}
break;
单独创建时都表现良好,但是当先创建非模态再创建模态时,活动窗口竟然可以在两个对话框中切换,并且模态性也相互转移,请问
这是系统特性吗?还是其他原因?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货