CWnd::ModifyStyle
呼叫此成員函式修改視窗的樣式。
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0
);
參數
dwRemove
指定在樣式變更時要移除的視窗樣式。dwAdd
指定在樣式變更時要加入的視窗樣式。nFlags
旗標會傳遞到 SetWindowPos或零,如果 SetWindowPos 不應該呼叫。 預設值是零。 針對預設旗標清單。請參閱<備註>一節。
傳回值
不是零,如果已成功修改樣式;則為,否則為 0。
備註
要加入或移除的樣式可以透過位元 OR 運算結合使用或 (|) 運算子。 如需可用視窗樣式的詳細資訊,請參閱 Windows SDK 的主題 視窗樣式 和 CreateWindow 。
如果 nFlags 為非零值 (Nonzero), ModifyStyle 呼叫 Windows API 函式 SetWindowPos 並透過合併 nFlags 重繪視窗具有下列四個預先設定的旗標:
SWP_NOSIZE 保留目前的大小。
SWP_NOMOVE 保留目前的位置。
SWP_NOZORDER 保留目前的疊置順序。
SWP_NOACTIVATE 不啟動視窗。
若要修改視窗的擴展樣式,請參閱 ModifyStyleEx。
注意事項 |
---|
對於某些控制項 (在編輯控制項 (例如 ES_READONLY 樣式的一些樣式,), ModifyStyle 可能不會正確地變更這個模式,因為控制項可能需要執行特殊的內部處理。在這些情況下,變更這個模式中的對應訊息便會出現 (在這裡提到的範例中的EM_SETREADONLY )。 |
範例
// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
需求
Header: afxwin.h