MFC 窗體樣式修改


窗體創建之后,如何設置窗體的樣式呢?

一般情況下使用GetWindowLongW與SetWindowLongW即可實現窗體樣式的修改或者使用ModifyStyle。

關於MFC存在GetWindowLongW和GetWindowLongA使用哪一個,可以通過 IsWindowUnicode(this->m_hWnd)獲取是使用哪一類型,true則使用GetWindowLongW反之使用GetWindowLongA。

  LONG style = ::GetWindowLongW(this->m_hWnd,GWL_STYLE);//獲取原窗體的樣式
   style&=~(WS_CAPTION | DS_MODALFRAME|WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE);//更改樣式
   ::SetWindowLongW(this->,GWL_STYLE,style);//重新設置窗體樣式
ModifyStyle(userForm.m_hWnd,WS_CAPTION | DS_MODALFRAME|WS_EX_DLGMODALFRAME | WS_EX_WINDOWEDGE,0,0);
//------------------------------------------------------------------------------//
ModifyStyle(WS_CAPTION,0,0); //去除標題欄
ModifyStyle(0,WS_THICKFRAME,0); //添加 WS_THICKFRAME風格
ModifyStyle(0,WS_EX_TOOLWINDOW,0); //設置工具欄窗口風格
ModifyStyleEx(0,WS_EX_ACCEPTFILES,0); //設置Accept files 屬性

參數:

hWnd
窗口句柄及間接給出的窗口所屬的 窗口類
nlndex
指定要獲得值的大於等於0的值的 偏移量有效值的范圍從0到額外 窗口內存空間的字節數一4例如,若指定了12位或多於12位的額外類 存儲空間,則應設為第三個32位整數的索引位8。要獲得任意其他值,指定下列值之一:
意義
GWL_EXSTYLE
(-20)
獲得擴展窗口風格。
GWL_HINSTANCE
(-6)
獲得應用事例的句柄。
GWL_HWNDPARENT
(-8)
如果父窗口存在,獲得父窗口句柄
GWL_ID
(-12)
獲得窗口標識。
GWL_STYLE
(-16)
獲得窗口風格。
GWL_USERDATA
(-21)
獲得與窗口有關的32位值。每一個窗口均有一個由創建該窗口的應用程序使用的32位值。
GWL_WNDPROC
(-4)
獲得窗口過程的地址,或代表窗口過程的地址的句柄。必須使用CallWindowProc函數調用窗口過程。
 
在hWnd 參數標識了一個對話框時也可用下列值:
意義
DWL_DLGPROC
(4)
獲得對話框過程的地址,或一個代表對話框過程的地址的句柄。必須使用函數CallWindowProc來調用對話框過程。
DWL_MSGRESULT
(0)
獲得在對話框過程中一個消息處理的返回值。
DWL_USER
(8)
獲得應用程序私有的額外信息,例如一個句柄或指針
 
 


免責聲明!

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



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