MFC隱藏(去除)客戶區的邊框以及隱藏非客戶區
我承認我被此問題困擾過,好在找到了解決方法,如下:
1.在C****View::PreCreateWindow(CREATESTRUCT& cs)函式內增加:cs.style &= ~WS_BORDER;
2.在CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函式內增加:ModifyStyleEx(WS_EX_CLIENTEDGE, 0, SWP_FRAMECHANGED);注意:要增加到OnCreate函式的最前面(即if (CFrameWnd::OnCreate(lpCreateStruct) == -1)前面)。
附1:網友解決辦法:
----------------------------------------------------------------------------------------------------------------
先要去掉view的邊框,程式碼如下:
然後在去掉外部Frame的客戶區邊框,程式碼如下:
----------------------------------------------------------------------------------------------------------------
附2:隱藏非客戶區的方法:
----------------------------------------------------------------------------------------------------------------
在MainFrm.cpp的OnCreate()函式中加上如下程式碼可以隱藏視窗的非客戶區
ModifyStyle(WS_CAPTION|WS_THICKFRAME, 0, SWP_DRAWFRAME);//函式的第一行
SetMenu(NULL);//第二行
m_wndToolBar.ShowWindow(SW_HIDE);//在toolbar.Create的下面一行
m_wndStatusBar.ShowWindow(SW_HIDE);//在m_wndStatusbar.Create下面一行
整個函式如下:
----------------------------------------------------------------------------------------------------------------