如何关闭对话框,当点击对话框外部的时候
重载了wm_nclbuttondown,好像也没什么反映

解决方案 »

  1.   

    你怎么关闭的?是EndDialog还是CloseWindow??
      

  2.   

    用对话框默认的OnCancel
    现在的问题是在那里截获点击对话框外部的事件
      

  3.   

    同意sinhighly(非典型程序员) 使用WM_KILLFOCUS
    楼主可以设一个变量来决定是否关闭,也就是说在对话框初始化完以后才认为应该关闭
      

  4.   

    问题是点击对话框外部不响应这个消息(modal dialog)
      

  5.   

    就用WM_KILLFOCUS
    你使用一个变量来确定焦点位置是否在控件上
      

  6.   

    鼠标点击对模式话框外时没有响应wm_killfocus消息
    有没有其他的办法
      

  7.   

    呵呵,Falconking(Suyi) 老兄,能不能先解释一下“对话框外部”的定义啊?
      

  8.   

    试试WM_NCACTIVATE响应
    wParam参数为FALSE时关闭
      

  9.   

    1)线判断是否在外面GetCapture();
    2)CWnd* pWnd=FindWindow();找到你的窗口;
      pWnd->PostMessage(WM_CLOSE,0,0);