窗口为什么不重绘?

sanjiang 2002-11-07 10:22:51
在一个窗口上有几个可以用鼠标拖动的子窗口,当用鼠标拖动一个子窗口从另一个被覆盖的子窗口上移开时被覆盖的窗口并没有重绘,甚至连WM_PAINT消息也没有收到.请问这是为什么?我怎样让下面的窗口露出的部分自动重绘呢?不想手工发消息给被覆盖窗口的说.
...全文
56 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuga 2002-11-07
  • 打赏
  • 举报
回复
//获取主框架
CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild =
(CMDIChildWnd *) pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child
// window.CDisplayModeView是你定义的
CDisplayModeView *pView=(CDisplayModeView *) pChild->GetActiveView();
if(pView)
{
//刷新
pView->Invalidate(TRUE);
}
sanjiang 2002-11-07
  • 打赏
  • 举报
回复
谢谢你的回答,但我的程序不是MDI,而是Dialog型的.一个Dialog上建立了几个没有标题栏和边框的CWnd.

15,980

社区成员

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

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