关于atl activex的模态对话框的一个奇怪问题

cloudrain 2009-06-27 12:29:25
是这样的:
在基于MFC支持的ATL ACTIVEX控件中我先创建一个派生于CAxDialogImpl的非模态对话框...OK,然后以它为父窗口再分别创建两个非模态对话框:一个基于CDialogImpl的非模态对话框和一个基于MFC CDialog的非模态对话框...OK,最后在业务过程中以NULL为父窗口创建一个模态对话框,当调用DoModal()后此对话框并没直接显示出来,而是最小化再还原此控件的容器(如IE)窗口才显示出来。开始以为此对话框的父窗口设置不行,以前面创建的非模态对话框为父窗口还是一样的问题。最后设置模态对话框的属性TOPMOST和SET FORGROUND还是不行。不知道问题在哪哦?谢谢!另外我在控件里面使用messagebox api函数也显示不出来,是不是要实现些特定的接口函数才行?盼解答
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudrain 2009-06-30
  • 打赏
  • 举报
回复
一直等到问题解决为止
cloudrain 2009-06-29
  • 打赏
  • 举报
回复
唉,没人帮助解决啊?提供个思路也行
cloudrain 2009-06-29
  • 打赏
  • 举报
回复
不好意思,业务过程都是在主线程中,因为就在主线程里面创建的窗口,我在主线程里面用messagebox也是不显示,真奇怪了!
skyxie 2009-06-27
  • 打赏
  • 举报
回复
最后在业务过程中以NULL为父窗口创建一个模态对话框,当调用DoModal()后此对话框并没直接显示出来
-----------
业务过程是在工作线程中?

改成业务线程给界面PostMessage,界面的该消息处理函数中 "以NULL为父窗口创建一个模态对话框,当调用DoModal()"
cloudrain 2009-06-27
  • 打赏
  • 举报
回复
没人理,自己顶下。问题还没解决

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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