MFC 界面大小变化的时候DockPane不跟着变化

hanrp0702 2018-12-02 01:56:39
MFC的界面上放了几个DockPane,平时都能够正常显示,但是改变窗口大小的时候,比如把窗口拖动放大,或者把窗口拖动缩小,DockPane的小界面不能够自己更新回来,里面变成一片空白。如果我这个时候把界面最小化,然后再点击显示,DockPane的位置又能够重新正常显示。请问这个是什么原因啊?

效果如下面几幅图片
正常显示,右侧的PaneDock界面里面内容和下面的按钮都能显示出来。



下图不正常显示,又侧的内容都没有了,并且DockPane下面的“PLC数据”那个按钮也没了。但是如果我把界面最小化或者通过别的窗口覆盖掉,然后再让他再显示出来的时候,他又能够正常显示了。请问这是什么原因啊?要在哪里添加函数啊?



求求大神指导一下啊,刚刚学习MFC,对内部的实现原理不懂啊。




...全文
444 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-12-03
  • 打赏
  • 举报
回复
百度搜相关关键字。
hanrp0702 2018-12-03
  • 打赏
  • 举报
回复
还真的是我自己在MainFrm中刷新背景把PaneDock给刷掉了。但是如果我想只获取界面除了Pane以外的部分,该用什么函数呢??? 我现在是用的 CRect rect; GetClientRect(&rect); pDC->SetBkMode(TRANSPARENT); CBrush brBtnShadow(RGB(255, 255, 255)); pDC->FillRect(&rect, &brBtnShadow);
hanrp0702 2018-12-03
  • 打赏
  • 举报
回复
自己顶一下。 昨天调试,发现系统自带的单文档程序在调整界面的时候PaneDock能够自己调整大小,但是我也没有删除什么啊,不知道为什么不能够调整大小,还是因为我在EraseBackGound里面添加了修改背景颜色吗?将背景修改成白色。

15,979

社区成员

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

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