ModifyStyle

ModifyStyle,調用這個函式修改視窗的風格,此函式的厲害之處在於可以在視窗創建完成後修改視窗風格,雖然也有一些屬性改不了。

函式原型

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堂課。

相關詞條

相關搜尋

熱門詞條

聯絡我們