鼠标点击到窗口外,关闭窗口实现:
1.创建一个非模态对话框
CYourDlg *pYourDlg = new CYourDlg;
pYourDlg ->Create(IDD_DIALOG, this);
pYourDlg ->ShowWindow(SW_SHOW);
对于创建非模态对话框的注意点:
1、重载OnCancel():
{
DestroyWindow();
}
2、重载PostNcDestroy():
{
CDialog::PostNcDestroy();
delete this;
}
3、重载OnActivate()函数:
{
CDialog::OnActivate(nState, pWndOther, bMinimized);
if (WA_INACTIVE == nState)//可以判断当前窗口的状态,是否激活
PostMessage(WM_CLOSE);
}
OK!模态对话框同理,只需要重载CDialog::OnActivate()函数就好了.
本文介绍如何通过重载OnCancel(), PostNcDestroy() 和 OnActivate() 函数来实现非模态对话框的关闭操作。当鼠标点击窗口外时,可以通过发送WM_CLOSE消息来关闭对话框。
4210

被折叠的 条评论
为什么被折叠?



