我在编写SDI程序时,加了一个对话框,但执行后,对话框不能移动,怎么让对话框移动?

解决方案 »

  1.   

    void CYourDlg::OnMouseMove(UINT nFlags, CPoint point) 
    {
    if ( nFlags & MK_LBUTTON )
    {
    SendMessage( WM_SYSCOMMAND, SC_MOVE | HTCLIENT, 0 );
    }

    CDialog::OnMouseMove(nFlags, point);
    }
    或者手工增加OnNcHitTest消息映射: 
    在BEGIN_MESSAGE_MAP中加入消息ON_WM_NCHITTEST(),然后在头文件中加入 
       afx_msg UINT OnNcHitTest(CPoint point); 
    加入NCHITTEST消息函数 
    UINT CClyzDlg::OnNcHitTest(CPoint point) 

            UINT nHitTest = CTranDialog::OnNcHitTest( point );//把CTranDialog改成你的基类 
            return (nHitTest == HTCLIENT) ? HTCAPTION : nHitTest;