我的程序要求在主界面点击一个按钮后弹出一个对话框,这个对话框是个数字小键盘。
我想让弹出的这个对话框能够像日历控件的下拉弹出框一样,只要一点其他地方,这个对话框就消失,怎么可以做到呢?

解决方案 »

  1.   

    我的想法是:把对话框改成CHILD形式,点击就Create
    创建之后就捕捉鼠标消息,只要鼠标点击的位置不在窗口之内就Close
      

  2.   

    我的程序要求在主界面点击一个按钮后弹出一个对话框,这个对话框是个数字小键盘。
    我想让弹出的这个对话框能够像日历控件的下拉弹出框一样,只要一点其他地方,这个对话框就消失,怎么可以做到呢?
    void CBKView::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    if(!bIsLogin) m_dlgLogin.DoModal();
    CFormView::OnLButtonDown(nFlags, point);
    }
    上面那个对话框属性里面的设置Style里设为POPUP,然后用非模式化(not DoModal but ShowWindow)的形式显示对话框,这就是你要的效果