如题

解决方案 »

  1.   

    一种方法是重载onnchittest:
    UINT CYourDlg::OnNcHitTest(CPoint point) 
    {
    UINT ret=CDialog::OnNcHitTest(point);
    if(ret==HTCLIENT)
    return HTCAPTION;
    return ret;
    }
      

  2.   

    四.无标题窗口的拖放
    用classwizard是无法增加该消息的,在头文件BEGIN_MESSAGE_MAP中加入消息ON_WM_NCHITTEST(),然后在头文件中加入。
    afx_msg UINT OnNcHitTest(CPoint point);
    在实现文件中,加入LBUTTONDOWN消息函数
    void CClyzDlg::OnLButtonDown(UINT nFlags, CPoint point)
    {
            CDialog::OnLButtonDown(nFlags, point);// Cdialog是你的基类
            PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y));

    加入NCHITTEST消息函数
    UINT CClyzDlg::OnNcHitTest(CPoint point)

            UINT nHitTest = CDialog::OnNcHitTest( point );//Cdialog是你的基类 
            return (nHitTest == HTCLIENT) ? HTCAPTION : nHitTest; 
    }
      

  3.   

    另一方法:
    void CYourDlg::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    SendMessage(WM_NCLBUTTONDOWN,HTCAPTION,0);
    CDialog::OnLButtonDown(nFlags, point);
    }