MFC对话框标题栏禁止拖拽

    技术2022-07-11  128

    背景:原有代码里,点击按钮,弹出一个浮动的对话框,连续多次快速点击标题栏,同时拉动标题栏,此对话框会被拖动,并被改变大小。没做过MFC,于是找度娘求了一上午奶,味道不怎么好,但好歹解决了。。。

    .h文件

    afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point); LRESULT OnNcHitTest(CPoint point);

    .cpp文件

    BEGIN_MESSAGE_MAP(MyDialog, CDialogEx) ON_WM_NCLBUTTONDOWN()   ON_WM_NCHITTEST() END_MESSAGE_MAP() void MyDialog::OnNcLButtonDown(UINT nHitTest, CPoint point) {     if (HTCAPTION == nHitTest)     {         return;     }     CDialog::OnNcLButtonDown(nHitTest, point); } LRESULT MyDialog::OnNcHitTest(CPoint point) {     UINT Flag = CDialog::OnNcHitTest(point);     if (Flag == HTCAPTION)     {         return HTCLIENT;     }     else if (Flag == HTCLIENT)     {         return HTCAPTION;     }     else {         return Flag; } }

    原理我也不懂,也没心思搞前端,就是一头莽。问题反正解决了,留个记录,以做参考。

    Processed: 0.009, SQL: 12