MFC的对话框CDialog是怎么控制窗口可调整大小的属性的呢?
打开资源文件,对话框资源的属性列表中,有一个“Border”项,改变该项的值就可以改变窗口边框风格。实际上windows窗口是否可调整大小,就是根据边框的风格来确定的。窗口风格中与边框有关的值如下:
WS_BORDER - Thin-line border,不能调整大小;
WS_DLGFRAME - dialog box typical border,不能调整大小;
WS_SIZEBOX - sizing border,可以调整大小;
WS_THICKFRAME - 同WS_SIZEBOX。
ModifyStyle()函数修改窗体控件属性
1.作用:Call this member function to modify a window’s style.
2.函数原型:
BOOL ModifyStyle
(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags
);
3.参数含义:
dwRemove指定要删除的扩展属性,
dwAdd指定修改时要增加的扩展属性,
nFlag标志一般设置为0。
4.用法:
1、修改控件的原有属性用 ModifyStyle(1,WS_DISABLED);(实际测试时只要是>=0的整形数就行)
2、改回来的话要用ModifyStyle(WS_DISABLED,1);(实际测试时只要是>=0的整形数就行)
如果把参数想像成布尔值的话就使用1这个整形数,要除去控件的属性就让第一个参数dwRemove为真,修改回来就让第二个参数dwAdd为真.
5.参考代码: