如何不让对话框拖动

解决方案 »

  1.   

    重载WM_NCLBUTTONDOWN
    void CMydlgDlg::OnNcLButtonDown(UINT nHitTest, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default

         //CDialog::OnNcLButtonDown(nHitTest, point);//去掉
    }
      

  2.   

    拦截WM_NCLBUTTONDOWN,相信是禁止窗口移动的最好方法了
      

  3.   

    相信:
    重载WM_NCLBUTTONDOWN
    void CTestDlg::OnNcLButtonDown(UINT nHitTest, CPoint point) 
    {
    //把里面的内容全都删掉!
    }   是最简单的方法了~!
      

  4.   

    在InitDialog函数中加入
    CMenu *pSysmenu = GetSystemMenu(false);//取得对话框的系统菜单
    pSysmenu->DeleteMenu(0,MF_BYPOSITION);//删除系统菜单中的MOVE项
    就OK了!
      

  5.   

    我认为屏蔽 WM_NCLBUTTONDOWN 消息不太好,因为这时候你点击右上角的×按钮都已经无效了,这不太符合常规刚才试了一下vcforever(VC小菜鸟) 的方法,可行,方便,对程序影响也小,学习学习。