CWnd::ModifyStyle

调用该成员函数修改窗口的样式。

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

参数

  • dwRemove
    指定在样式修改时要移除的窗口样式。

  • dwAdd
    指定在样式修改时要添加的窗口样式。

  • nFlags
    标志将于 SetWindowPos或零,如果 SetWindowPos 不应调用。 默认值为零。 为被预设的标志列表参见"备注"节。

返回值

非零,如果成功修改该样式;否则,0。

备注

将添加或删除了样式可以按位组合使用或(|)运算符。 有关可用的窗口样式的信息,请参见。Windows SDK 的主题 窗口样式CreateWindow

如果 nFlags 不为零,ModifyStyle 调用Windows API函数 SetWindowPos 并将 nFlags 重绘窗口与以下四个被预设的标志:

  • SWP_NOSIZE 保留当前范围。

  • SWP_NOMOVE 保留当前位置。

  • SWP_NOZORDER 保留当前的Z顺序。

  • 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 类

层次结构图

调试 [Visual Studio]

CWnd::ModifyStyleEx

Window Styles

SetWindowPos