MFC如何重绘控件

蚯蚓哥 2014-07-31 10:09:31
我用MFC的CSplitterWnd划分了几个子窗格,然后不是用鼠标拖动来更改子窗格的尺寸,而是在一个Button下写代码来控制他们的大小,但是单击按钮后必须要鼠标拖动改变一下主窗体,button事件下修改过的子窗格样式、位置才显示出来。我用过UpdateData、RedrawWindow、InvalidateRect、Invalidate等方法都不行,怎样才能像OnSize方法来重绘呢?
...全文
299 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2014-08-01
  • 打赏
  • 举报
回复
这个帖子为什么有到VC/mfc版块了? 我看的时候是在C++Builder版本呢。
蚯蚓哥 2014-08-01
  • 打赏
  • 举报
回复
用CSplitterWnd的.RecalcLayout()方法,问题解决了!
mjp1234airen4385 2014-07-31
  • 打赏
  • 举报
回复
你确定,你没有发错版块? 这是C++Builder论坛,是VLC的天下,你来问MFC,估计会被认为是踢场子。 斑竹都不理你。
  • 打赏
  • 举报
回复
还可以适当利用一下oneraserbkground()
  • 打赏
  • 举报
回复
OnPaint Invitate(FALSE);就2个,不多
lx624909677 2014-07-31
  • 打赏
  • 举报
回复
http://blog.csdn.net/zhoujielunzhimi/article/details/8480959 控件重绘
lx624909677 2014-07-31
  • 打赏
  • 举报
回复
引用 1 楼 mjp1234airen4385 的回复:
你确定,你没有发错版块? 这是C++Builder论坛,是VLC的天下,你来问MFC,估计会被认为是踢场子。 斑竹都不理你。
VLC是什么?没听过
fangjl9 2014-07-31
  • 打赏
  • 举报
回复
引用 1 楼 mjp1234airen4385 的回复:
你确定,你没有发错版块? 这是C++Builder论坛,是VLC的天下,你来问MFC,估计会被认为是踢场子。 斑竹都不理你。
- -,这就是VC/MFC板块。 没用过,但你可以在button响应里用PostMessage发一个wm_size消息或者通知刷新的消息,我也不知道你那个程序是哪个消息通知的刷新。如果你也搞不清是哪个消息通知的刷新,用spy,vc自带的窗口检测,可以截获是哪个消息刷新的

15,980

社区成员

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

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