【MFC】無邊框窗體 WS_THICKFRAME


1.沒有WS_THICKFRAME,有WS_SYSMENU,就沒辦法通過相應WM_NCHITTEST,去處理窗口的縮放。
2.沒有WS_THICKFRAME,也沒有WS_SYSMEN,在xp系統下任務欄就沒有右鍵菜單彈出。

所以呢,沒有WS_THICKFRAME會帶來一些不必要的麻煩。但是有WS_THICKFRAME無邊框又不行了。

那么給出的解決方案是:

響應WM_NCCALCSIZE消息,對消息進行截獲處理

LRESULT OnNcCalcSize( UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/ )
{
    NCCALCSIZE_PARAMS* lpncsp = (NCCALCSIZE_PARAMS*)lParam;

    if((BOOL)wParam)
    {
        lpncsp->rgrc[2] = lpncsp->rgrc[1];
        lpncsp->rgrc[1] = lpncsp->rgrc[0];
    }
    return TRUE;
}    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM