MFC多文档项目中新建子文档OnSize时文档内部标签闪屏

zcy790811 2017-06-24 11:53:35
MDI中自义定了一个子文档AFrame和Aview, 其中Aview继承自CFormView,然后新建一个A文档窗口之后呢在改变A文档窗口大小的时候,A文档内部的内容在闪屏,求助啊!
A文档内部相关的代码如下:

void CAView::OnSize(UINT nType, int cx, int cy)
{
//CFormView::OnSize(nType, cx, cy);

CRect dlgRect;
this->GetClientRect(dlgRect);
//InvalidateRect(CRect(MARGIN_LEFT_BATPANE, 0, cx, cy), TRUE);

if (batterysPanePic.m_hWnd) {

batterysPanePic.MoveWindow(MARGIN_LEFT_BATPANE, MARGIN_TOP_BATPANE, dlgRect.Width(), dlgRect.Height(), TRUE);
if (pbatterysDlg != NULL)
pbatterysDlg->OnSize(0, dlgRect.Width() - MARGIN_LEFT_BATPANE, dlgRect.Height() - MARGIN_TOP_BATPANE);
if (tbatterysDlg != NULL)
tbatterysDlg->OnSize(0, dlgRect.Width() - MARGIN_LEFT_BATPANE, dlgRect.Height() - MARGIN_TOP_BATPANE);
if (fbatterysDlg != NULL)
fbatterysDlg->OnSize(0, dlgRect.Width() - MARGIN_LEFT_BATPANE, dlgRect.Height() - MARGIN_TOP_BATPANE);
if (ebatterysDlg != NULL)
ebatterysDlg->OnSize(0, dlgRect.Width() - MARGIN_LEFT_BATPANE, dlgRect.Height() - MARGIN_TOP_BATPANE);

}
}
BOOL CBatteryCheckView::OnEraseBkgnd(CDC* pDC)
{
return CFormView::OnEraseBkgnd(pDC);
}
...全文
493 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcy790811 2017-08-28
  • 打赏
  • 举报
回复
最后利用,LockWindowUpdate,改变大小后释放windowUpdate();解决问题。
赵4老师 2017-06-26
  • 打赏
  • 举报
回复
学会使用Spy++

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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