溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于對話框窗體拖動的問題

發(fā)布時間:2020-04-11 09:17:22 來源:網(wǎng)絡(luò) 閱讀:315 作者:boyka3721 欄目:開發(fā)技術(shù)


通常情況下是,按住鼠標(biāo)不放,按住標(biāo)題欄區(qū)域可拖動窗體,按住客戶區(qū)不可以拖動窗體


通過添加如下代碼,可以實現(xiàn)按住客戶區(qū)可拖動的操作

LRESULT CTestMfcDlg::OnNcHitTest(CPoint point)

{

    UINT nHitTest=CDialogEx::OnNcHitTest(point);

    if(nHitTest==HTCLIENT)//如果是客戶區(qū)

    {

        nHitTest=HTCAPTION; //則把它當(dāng)成標(biāo)題欄

    }

    return nHitTest;

}


通過如下代碼,可改變標(biāo)題欄高度

void CTestMfcDlg::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp)

{

    int myCaptionHeight = 50;  //標(biāo)題欄高度

    int myLeftBorderWeight =10;  

    int myRightBorderWeight =10;  

    int myBottomBorderWeight =10;  


    if (bCalcValidRects)  

    {  

        CRect& rc = (CRect&)lpncsp->rgrc[0];//get the client rectangle 

        rc.top += myCaptionHeight - GetSystemMetrics(SM_CYCAPTION) - GetSystemMetrics(SM_CYDLGFRAME);  

        rc.left += myLeftBorderWeight - GetSystemMetrics(SM_CYDLGFRAME);  

        rc.bottom -= myBottomBorderWeight - GetSystemMetrics(SM_CYDLGFRAME);  

        rc.right -= myRightBorderWeight - GetSystemMetrics(SM_CYDLGFRAME);

    }  


    CDialogEx::OnNcCalcSize(bCalcValidRects,lpncsp);  

}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI