如何完美的将对话框设置成无边框无标题栏样式?
生活随笔
收集整理的這篇文章主要介紹了
如何完美的将对话框设置成无边框无标题栏样式?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
很多同學在繪制UI時喜歡將窗口或者對話框設置成無邊框無標題欄樣式,然后在客戶區里就可以”胡作非為“了,想干什么都行
然而新手們包括筆者以前都遇到的一個問題是:對于對話框來說直接這樣設置:
ModifyStyle(WS_CAPTION | WS_THICKFRAME, 0, SWP_FRAMECHANGED);
是不完美的,他們會發現在對話框的情況下,那個border還是存在,最后怎么設置都不可行,對于一般從CWnd派生然后用Create方法創建的窗口卻沒什么問題。
解決方案:
這里我告訴你如何設置,以下代碼適用所有窗口,設置后邊框沒了,標題欄也沒了
純凈的客戶區就美麗的顯示在你的面前:
?| 1 2 3 4 5 6 7 8 9 | DWORD dwStyle = GetStyle();//獲取舊樣式 ?WORD dwNewStyle = WS_OVERLAPPED | WS_VISIBLE| WS_SYSMENU |WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPCHILDREN|WS_CLIPSIBLINGS; dwNewStyle&=dwStyle;//按位與將舊樣式去掉 SetWindowLong(m_hWnd,GWL_STYLE,dwNewStyle);//設置成新的樣式 DWORD dwExStyle = GetExStyle();//獲取舊擴展樣式 DWORD dwNewExStyle = WS_EX_LEFT |WS_EX_LTRREADING |WS_EX_RIGHTSCROLLBAR; dwNewExStyle&=dwExStyle;//按位與將舊擴展樣式去掉 SetWindowLong(m_hWnd,GWL_EXSTYLE,dwNewExStyle);//設置新的擴展樣式 SetWindowPos(NULL,0,0,0,0,SWP_NOZORDER|SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHANGED);//告訴windows:我的樣式改變了,窗口位置和大小保持原來不變! |
總結
以上是生活随笔為你收集整理的如何完美的将对话框设置成无边框无标题栏样式?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言6F多少,求助!!请人帮忙画C语言
- 下一篇: Win32串口操作的技巧