共用方式為


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

請參閱

參考

CWnd 類別

階層架構圖

CWnd::SetWindowPos

CWnd::ModifyStyleEx

Window Styles

SetWindowPos