Call this member function to modify a window's style.


      BOOL ModifyStyle(
   DWORD dwRemove,
   DWORD dwAdd,
   UINT nFlags = 0 


  • dwRemove
    Specifies window styles to be removed during style modification.

  • dwAdd
    Specifies window styles to be added during style modification.

  • nFlags
    Flags to be passed to SetWindowPos, or zero if SetWindowPos should not be called. The default is zero. See the Remarks section for a list of preset flags.

Return Value

Nonzero if style was successfully modified; otherwise, 0.


Styles to be added or removed can be combined by using the bitwise OR (|) operator. See the topics Window Styles and CreateWindow in the Windows SDK for information about the available window styles.

If nFlags is nonzero, ModifyStyle calls the Windows API function SetWindowPos and redraws the window by combining nFlags with the following four preset flags:

  • SWP_NOSIZE   Retains the current size.

  • SWP_NOMOVE   Retains the current position.

  • SWP_NOZORDER   Retains the current Z order.

  • SWP_NOACTIVATE   Does not activate the window.

To modify a window's extended styles, see ModifyStyleEx.


For some styles in certain controls (the ES_READONLY style in the edit control, for example), ModifyStyle may not properly change the style because the control may need to perform special internal processing. In these cases, a corresponding message to change the style will be available (EM_SETREADONLY in the example mentioned).


// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
   ModifyStyle(0, WS_CLIPCHILDREN);


Header: afxwin.h

See Also

CWnd Class
Hierarchy Chart
Window Styles