函式原型
BOOL ModifyStyle
(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags=0
);
參數含義
dwRemove 指定修改時要刪除的窗風格。
dwAdd 指定修改時將要增加的視窗風格。
nFlags 該參數將被傳給SetWindowPos,否則為0,如果SetWindowPos不被調用的話,一般該參數默認值
4.返回值:
如果該函式成功調用返回一個非0值,否則返回0;
5.備註
如果nFlags不為0, ModifyStyle將調用Windows API 函式 SetWindowPos並且結合nFlags和以下四個預先布置好的標誌重畫該視窗。
SWP_NOSIZE 保持當前大小。
SWP_NOMOVE 保持當前位置.。
SWP_NOZORDER 保持當前的Z次序。
SWP_NOACTIVATE 不激活該視窗。
6.用法:
1、修改控制項的原有屬性用 ModifyStyle(1,WS_DISABLED);(實際測試時只要是>=0的整形數就行)
2、改回來的話要用ModifyStyle(WS_DISABLED,1);(實際測試時只要是>=0的整形數就行)
如果把參數想像成布爾值的話就使用1這個整形數,要除去調控制項的屬性就讓第一個參數dwRemove為真,修改回來就讓第二個參數dwAdd為真.
7. 參考代碼:
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
………………………………………………………………………………………………………………………………
C++中一些實例
SetWindowText("abc"); //設定 視窗標題欄 abc
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 屬性
也就說,要添加或除去視窗的普通風格,可以使用ModifyStyle 方法來實現
設定或去除視窗的擴展風格,可以使用 ModifyStyleEx 方法。C++中注意大小寫。
以上實例摘自 2011版的 羊皮卷系列之 學通 Visual C++的24堂課。