• 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 > 如何在COM中返回一个自定义的ToolBar指针?

如何在COM中返回一个自定义的ToolBar指针?

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

佚名通过本文主要向大家介绍了toolbar.soso.com,toolbar.google.com,自定义toolbar,android自定义toolbar,安卓自定义toolbar等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何在COM中返回一个自定义的ToolBar指针?
描述:

自定义了一个CBmpToolBar,是基于CToolBar的,在一个类中创建一个CBmpToolBar的对象,现在
想为这个类实现一个接口,在类的外部可以通过这个接口Get到这个CBmpToolBar对象的指针,这样在其他的类中就可以使用这个CBmpToolBar对象了,这个接口应该如何实现呢?
现在我是用MFC的嵌套类实现的,但是有问题,请大侠帮我看一下:
//嵌套类中的函数
HRESULT CMailModule::XMail::GetToolBar(BYTE* pToolBar)
{
METHOD_PROLOGUE_EX(CMailModule,Mail)
pThis->GetToolBar(pToolBar);
if(pToolBar) return S_OK;
}
//类中的函数
HRESULT CMailModule::GetToolBar(BYTE* pToolBar)
{
pToolBar = (BYTE*)&(m_pMainFrame->m_wndToolBar);
return S_OK;
}
IDL文件中的接口:
interface IMail : IUnknown
{
HRESULT GetToolBar([out,retval] BYTE* pToolBar);
}
请大侠指教,谢谢!


解决方案1:

返回一个IDispatch *的pointer
pp = (IDispatch *)CToolBar::GetInterface(&IID_IUNKOWN);
在用的地方
toolbar = (CToolBar *)(CCmdTarget::FromIdispatch(pp));

解决方案2:

返回该toolbar的CWnd指针不行吗?用LONG型try一下?

解决方案3:

我是直接返回CWnd*的,但是没有用IDL
顺便说一下,返回指针要用**,参见queryinterface的实现


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

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

  • 如何在COM中返回一个自定义的ToolBar指针?

相关文章

  • 2017-06-05 请问有人知道如何修改Win2000下单个进程打开文件句柄的个数限制吗?
  • 2017-06-04 打算用activex控件做一个波形显示软件,有没有现成的控件可以参考??
  • 2017-06-04 超难的问题,高手请进!
  • 2017-06-04 100分问大家一个COM接口的问题~~~~
  • 2017-06-05 求助flash异常
  • 2017-06-05 服务程序可以有托盘吗?
  • 2017-06-05 DLL里的变量问题
  • 2017-06-05 关于线程的问题
  • 2017-06-05 初学Thread,为何我的_beginthreadfunctionisundeclaredidentifier
  • 2017-06-05 关于用vc写的dll在vb中使用时的参数传递问题

文章分类

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

最近更新的内容

    • VC6链接出错问题
    • VC60中为什么mfcdll程序编译时,两个lib文件冲突?
    • 急!MFC开发ActiveX奇怪的错误,望大虾们帮忙,谢了
    • COM和NET关系
    • 关于分布式对象技术的几个概念性问题。
    • <<Advancewindows>>中多次提到进程的派生,是怎样一种情况?(内空)
    • 在ActiveX控件中以Doc/View方式控制Word的问题
    • COM接口函数的返回值的问题
    • 怎么修改HTML源码
    • 用unicode编码,如何进行BASE64编码之类的移位操作?在com中如何实现BASE64编码/解码

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

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