1 InitInstance() 修改
使用
ModalessDialog mdd;
mdd.Create(IDD_MODALEES);
mdd.ShowWindow(SW_SHOWNA);
//消息处理 -> 非模态对话框为不阻塞,使用消息循环分发消息
MSG msg = { 0 };
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg); //将虚拟键消息转换为字符消息 -> 将键盘\鼠标...输入转换为对应字符
DispatchMessage(&msg); //分派一条消息到一个窗口过程
}
INT_PTR nResponse = mdd.flag; //ModalessDialog类中定义成员变量flag,标识点击了哪个按钮
替换
CModalessDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
2 修改按钮事件
void ModalessDialog::OnBnClickedOk()
{
flag = IDOK; //设置标志
DestroyWindow(); //销毁非模态对话框
PostQuitMessage(0); //退出消息循环
}
void ModalessDialog::OnBnClickedCancel()
{
flag = IDCANCEL;
DestroyWindow();
PostQuitMessage(0);
}
3 刚开始学习MFC理解有误请指明,谢谢