ModifyStyle()

来源:互联网 发布:lol网络不卡瞬移 编辑:程序博客网 时间:2024/05/16 19:54
ModifyStyle,调用这个函数修改窗口的风格,此函数的厉害之处在于可以在窗口创建完成后修改窗口风格,虽然也有一些属性改不了。
CWnd::ModifyStyle
1.作用:
2.函数原型:
BOOL ModifyStyle
(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags=0
);
3.参数含义:
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++中注意大小写。
0 0
原创粉丝点击