您的位置:首页 > 其它

当鼠标点击对话框以外时自动关闭对话框

2016-04-25 15:16 393 查看
鼠标点击到窗口外,关闭窗口实现:

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()函数就好了.

转自:https://www.douban.com/note/185728066/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: