VC实现 鼠标在对话框外点击关闭窗口

    技术2022-05-19  20

    如题,鼠标点击到窗口外,关闭窗口实现:

     

    1.创建一个非模态对话框

    CYourDlg *pYourDlg = new CYourDlg;

    pYourDlg ->Create(IDD_YOUR_DIALOG, this);pYourDlg ->ShowWindow(SW_SHOW);

     

    对于创建非模态对话框的注意点:

    1、CYourDlg 中重载OnCancel():

    {

         DestroyWindow();

    }

    2、重载PostNcDestroy():

    {

         CDialog::PostNcDestroy();     delete this;

    }

     

    2.重载OnActivate()函数:

    {

        CDialog::OnActivate(nState, pWndOther, bMinimized);    if (WA_INACTIVE == nState)//可以判断当前窗口的状态,是否激活        PostMessage(WM_CLOSE);

    }

     

    OK!模态对话框同理,只需要重载CDialog::OnActivate()函数就好了.


    最新回复(0)