CDialogEx,裁减子窗口的属性在资源对话框里设定和在代码里设定有不同?

thundersung 2013-12-09 07:00:02

方式一:在资源对话框属性里面Clip Children选择True,代码(PreSubclassWindow,虽然不是专门用来调整属性的,但好使就行啦)里不调用ModifyStyleEx(0, WS_CLIPCHILDREN),效果是当改变Dialog大小时Button类控件不晃眼,Static会晃眼(另外咱的Dialog背景加载了个图片,static都是透明的),此时直接修改static的字符串的话会有static背景遗留重叠的问题;
方式而:资源对话框里Clip Childer为False,代码调用ModifyStyleEx(0, WS_CLIPCHILDREN),效果是所有子控件包括static在内在dialog改变大小时都不晃,static文字串不会有重叠现象,但此时Dialog右上角三个按钮——最大化最小化关闭——当鼠标压下的时候没有3D那种下凹的效果,但最大化最小化和关闭的动作会执行;
方式三:两者都设定,那么效果等同于只在代码里设定;
方式死:两者都不设定,那就相当于非裁剪了。

结论是裁减子窗口的属性在资源对话框里设定和在代码里设定有不同?是这么一回事吗?
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
thundersung 2013-12-10
  • 打赏
  • 举报
回复
引用 1 楼 zgl7903 的回复:
PreSubclassWindow 执行到了吗? 可以设置个断点看一下 可以在 OnInitDialog 中处理试试 没有3D感 可能是剪切导致标题栏自绘出问题吧
必须执行到的。 现在是这个ClipChildren通过代码和资源管理器修改的效果不太一样哩。
zgl7903 2013-12-10
  • 打赏
  • 举报
回复
PreSubclassWindow 执行到了吗? 可以设置个断点看一下 可以在 OnInitDialog 中处理试试 没有3D感 可能是剪切导致标题栏自绘出问题吧

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧