• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 关于ATL中如何加入无模式对话框

关于ATL中如何加入无模式对话框

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了无模式对话框,lol无框模式,无车承运人模式,360浏览器无图模式,recovery模式无命令等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于ATL中如何加入无模式对话框
描述:

我已经用ATL在Word中加了一个按钮,我想在点击此按钮后跳出一个无模式对话框,然后再通过此无模式对话框对Word进行操作,如点击一下无模式对话框的一个按钮就可以在Word中插入一张图等。我不知如何创建此对话框,是用Insert中的NEW ATL OBJECT 中选 Micellaneous 中的Dialog还是在资源中直接添加一个对话框,急啊!老师催要


解决方案1:

楼主,你的方法是对的。
1、“用Insert中的NEW ATL OBJECT 中选 Micellaneous 中的Dialog还是在资源中直接添加一个对话”框
2、(会出错)
HWND hWndParent=0;
hWndParent=::GetActiveWindow();
dlg.Create(hWndParent);
dlg.ShowWindow(SW_SHOW);
这样可以创建一个模式对话框,但是窗口显示出来后,会出错;经过反复考虑,发现,组件在析构的时候,对话框没有释放掉。故改进如下:
3、
HWND hWndParent=0;
hWndParent=::GetActiveWindow();
dlg.Create(hWndParent);
dlg.ShowWindow(SW_SHOW);
Sleep(3000);
dlg.DestroyWindow();
这样,建立一个以当前活动窗口(调用者窗口)为父窗口的对话框,并会显示三秒,然后自己Destroy。程序不会出错。
4、
STDMETHODIMP CObj::ShowDlg5(long hWndParent)
{
// TODO: Add your implementation code here
dlg.Create(hWndParent);
dlg.ShowWindow(SW_SHOW);
Sleep(3000);
dlg.DestroyWindow();
return S_OK;
}
vb可以把自己的Me.hWnd作为参数传入。
5、最终版:
STDMETHODIMP CObj::ShowDlg()
{
// TODO: Add your implementation code here
HWND hWndParent=0;
hWndParent=::GetActiveWindow();
dlg.Create(hWndParent);
dlg.ShowWindow(SW_SHOW);
Sleep(3000);
// dlg.DestroyWindow(); //在组件析构函数里调用。
return S_OK;
}
CDlg dlg;
~CObj()
{
dlg.DestroyWindow();
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在控件中打开一个无模式对话框,为对话框上的Edit框关联控制型变量出错?!
  • OCX中使用DLL,在DLL弹出无模式对话框后,一按键盘就进死循环。
  • 急急急!WTL获取WM_POWERBROADCAST,如何获取?要求模式对话框下!
  • 非模式对话框无法进PreTranslateMessage,该怎么办?
  • OCX控件中无模式对话框无法响应Tab按键
  • 请教:关于在辅线程中创建一个无模式对话框的问题MFC---似乎很难
  • 如何显示在DLL中的非模式对话框?
  • 请教高手:模式对话框问题!正确一定给分!
  • 请教高手:DLL里封装无模式对话框?
  • 在线等待:在dll中封装无模式对话框?

相关文章

  • 2017-06-05 请教关于多线程对双CPU的支持问题!(分不够可另开!!!)
  • 2017-06-04 mfc创建的activex,用javascript调用不起来
  • 2017-06-05 为什么用AfxBeginThread启动一个线程之后,用AfxEndThread来结束线程整个应用程序也退出了?
  • 2017-06-05 容器和Com组件之间,是通过什么做底层通信的?
  • 2017-06-04 请问:一个Activex控件,如何在用户调用(Regsvr32xxocx)的时候弹出一个对话框?谢谢!
  • 2017-06-05 急!用CreateJobObject的高手进!
  • 2017-06-04 求<com技术内幕>英文版电子书,pdforchm,谢谢
  • 2017-06-05 利用SendMessage传递字符串的问题
  • 2017-06-05 errorC2440“类型转换”问题!!!
  • 2017-06-05 如何查看installshield生成的安装包setupexe内有那些文件?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 采用RealPlayerG2control的ActiveX控件,全屏后只有声音没有图像是怎么回事?还有怎样退出全屏模式?谢谢!!!
    • 请高手回答一下ATL中高难度的调试问题
    • 对远程进程挂接钩子,钩子函数执行完后并不卸载钩子,相应DLL是否会自动卸载。
    • 各们大哥,有问题求教
    • 用vc写的程序,如何在vb中调用
    • 如何实现在IE中点击ocx控件按钮,控件界面最大化
    • ActiveX中有直接播放音乐文件的吧,教我怎么用啊
    • COM多线程事件订阅问题
    • 为什么在编译时会出这个警告
    • VS2008下的ActiveX问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有