请问导致AfxMessageBox消息窗口不能操作的原因有哪些

焚月的守护者 2015-05-30 12:52:08
重写了CHtmlView类,进行网页内容显示,然后在单击添加书签按钮之后,想要弹出一个窗口提示添加成功,但是使用AfxMessageBox弹出的窗口,除了鼠标拖动,不能响应确定和关闭Message窗口操作,就像下面图片显示的一样。
小窗口可以拖动,但是不能关闭,请问这个问题可能产生的原因有哪些,该如何解决?
...全文
346 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
焚月的守护者 2015-11-02
  • 打赏
  • 举报
回复
这几天又碰到类似的问题,重新翻了一遍,解决方法是:nNcActivate函数直接修改返回TRUE,窗口不会闪烁,弹窗也可以关闭。 BOOL CMainFrame::OnNcActivate(BOOL bActive) { return TRUE; }
焚月的守护者 2015-06-02
  • 打赏
  • 举报
回复
回复 VisualEleven ,按下Enter也不能关闭。 谢谢大家,问题的原因找到了:我在窗口类中重写了OnNcActivate函数,当时为了解决重画边框的问题,将函数直接返回了,并没有调用父类的函数。 BOOL CMainFrame::OnNcActivate(BOOL bActive) { return bActive; } 现在改成return CWnd::OnNcActivate(bActive);就可以用了。 不过还是有一个问题,改成上面那句之后,窗口被遮挡再出现时会被刷上白色背景,很难看
Eleven 2015-06-01
  • 打赏
  • 举报
回复
你的意思是AfxMessageBox点击不能关闭,但是可以拖动?按个Enter键呢?能关闭不?
oyljerry 2015-06-01
  • 打赏
  • 举报
回复
AfxMessageBox本来就会阻塞当前窗口。如果你不需要,应该用非模态对话框,自己做一个
赵4老师 2015-06-01
  • 打赏
  • 举报
回复
使用TRACE调试。
焚月的守护者 2015-05-31
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
代码发出来大家瞧一下
不好意思,看晚了。 代码比较多,而且很分散,不好贴出来看,下面是弹出窗口那一段的代码: 前两个函数是用来添加书签的, LRESULT CMainFrame::OnAddToBookMarket(WPARAM wParam, LPARAM lParam) { // 获取当前网址信息 HtmlHistory htmlHis(CTabPageManager::GetInstance()->GetFocusHtmlCtrl()->GetUrlTitle(), CTabPageManager::GetInstance()->GetFocusHtmlCtrl()->GetLocationURL()); CHtmlDoc::GetInstance()->PushBookMarketBack(htmlHis); //AfxMessageBox(_T("书签添加成功")); return 0; }
worldy 2015-05-30
  • 打赏
  • 举报
回复
代码发出来大家瞧一下

15,979

社区成员

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

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