1.作用:Call this member function to modify a window's style.
2.函数原型:
BOOL ModifyStyle
(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags
);
3.参数含义:
ModifyStyle是窗口类的成员函数控件类继承之CWnd因此它也是控件类的成员函数
dwRemove指定要删除的扩展属性,
dwAdd指定修改时要增加的扩展属性,
nFlag标志一般设置为0,如果非0 则会调用SetWindowPos函数设置窗口的位置
6z*dq%t_:X ydZ0为0就不做处理
4用法:
1、修改控件的原有属性用 ModifyStyle(1,WS_DISABLED);(实际测试时只要是>=0的整形数就行)
2、改回来的话要用ModifyStyle(WS_DISABLED,1);(实际测试时只要是>=0的整形数就行)
如果把参数想像成布尔值的话就使用1这个整形数,要除去第控件的属性就让第一个参数dwRemove为真,修改回来就让第二个参数dwAdd为真.
5.参考代码:
CButton* pBtn = NULL;小木虫学术博客3GO~.Ystg%~
pBtn = (CButton*)GetDlgItem(IDC_BTN_BROWSEFOLDER);
K gl-rk6T0 pBtn->ModifyStyle(1,WS_DISABLED); 小木虫学术博客*uUSn)iN(Wt
pBtn->Invalidate(FALSE);
6.其他说明:
a、ModifyStyle中的风格参数说明:
ES开头的是editbox ES(EDIT STYLE缩写,其他类似)小木虫学术博客I5Of}o
BS开头的是button
FzR _v%E |;@0LVS开头的是listview小木虫学术博客4MFx"`Y$So*n
SS开头的是static
WS开头的 windows控件通用风格
如果是扩展的风格,加EX,小木虫学术博客]i~/W._}U
如WS_EX_CLIENTEDGE
b、BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags=0
);
例1、CStatic中显示图像
CStatic* static1=(CStatic*)GetDlgItem(IDC_list1);
static1->ModifyStyle(0,SS_ICON);
static1->SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
例2、CButton中显示图像
CButton* button1=(CButton*)GetDlgItem(IDC_button1);
button1->ModifyStyle(0,BS_ICON);
button1->SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME));