MFC如何重绘控件

蚯蚓哥哥 自由职业 大懂事  2014-07-31 10:09:31
我用MFC的CSplitterWnd划分了几个子窗格,然后不是用鼠标拖动来更改子窗格的尺寸,而是在一个Button下写代码来控制他们的大小,但是单击按钮后必须要鼠标拖动改变一下主窗体,button事件下修改过的子窗格样式、位置才显示出来。我用过UpdateData、RedrawWindow、InvalidateRect、Invalidate等方法都不行,怎样才能像OnSize方法来重绘呢?
...全文
127 点赞 收藏 8
写回复
8 条回复
mjp1234airen4385 2014年08月01日
这个帖子为什么有到VC/mfc版块了? 我看的时候是在C++Builder版本呢。
回复 点赞
蚯蚓哥哥 2014年08月01日
用CSplitterWnd的.RecalcLayout()方法,问题解决了!
回复 点赞
mjp1234airen4385 2014年07月31日
你确定,你没有发错版块? 这是C++Builder论坛,是VLC的天下,你来问MFC,估计会被认为是踢场子。 斑竹都不理你。
回复 点赞
@heyun 2014年07月31日
还可以适当利用一下oneraserbkground()
回复 点赞
@heyun 2014年07月31日
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自带的窗口检测,可以截获是哪个消息刷新的
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7977

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告