请问如何在对话框中重绘主窗口?

csucrab 2005-05-23 04:15:26

本人现在要实现一个查找的功能,弹出一个查找对话框(模式),输入查找内容后按下确认,找到内容后我调用了同一个工程中的另一个函数显示选中内容,这个函数中调用了重绘的函数,结果就出错了,请问如何解决?

调用序列:
CWnd::AssertValid() line 884 + 27 bytes
CView::AssertValid() line 495
CEbView::AssertValid() line 473
AfxAssertValidObject(const CObject * 0x08e67390 {CEbView hWnd=0x000a0ea0}, const char * 0x5f4cd700 THIS_FILE, int 939) line 108
CDocument::AssertValid() line 940
COleDocument::AssertValid() line 768
COleLinkingDoc::AssertValid() line 827
COleServerDoc::AssertValid() line 2991
CEbDoc::AssertValid() line 1405

最后在CWnd::AssertValid()中的
CObject* p;
ASSERT((p = pMap->LookupPermanent(m_hWnd)) != NULL ||
(p = pMap->LookupTemporary(m_hWnd)) != NULL);
ASSERT((CWnd*)p == this); // must be us
出错。
顺便问一下这次的对话框为什么不响应escape键了?各位高人帮帮我。
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
为说好的福利 2005-05-23
  • 打赏
  • 举报
回复
区别大着呢
csucrab 2005-05-23
  • 打赏
  • 举报
回复
大哥,这还是重绘啊, 和我得pDoc->UpdateAllViews(0);没什么分别啊。
d0347 2005-05-23
  • 打赏
  • 举报
回复
::UpdateWindow(hwnd); //hwnd为主窗口的句柄
d0347 2005-05-23
  • 打赏
  • 举报
回复
UpdateWindow(hwnd); //hwnd为主窗口的句柄
csucrab 2005-05-23
  • 打赏
  • 举报
回复
只重绘可能没事,我试过更新视图,但是对话框里面调用的那个函数不止是重绘啊,还要完成选中等工作的啊,而且这函数是公用的,我自己不能改啊。
中级伴读 2005-05-23
  • 打赏
  • 举报
回复
发个消息给主窗口,让它重绘

15,978

社区成员

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

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