使用C++MFC开发ActiveX控件

上传人:飞****9 文档编号:127390413 上传时间:2020-04-01 格式:PDF 页数:10 大小:528.08KB
返回 下载 相关 举报
使用C++MFC开发ActiveX控件_第1页
第1页 / 共10页
使用C++MFC开发ActiveX控件_第2页
第2页 / 共10页
使用C++MFC开发ActiveX控件_第3页
第3页 / 共10页
使用C++MFC开发ActiveX控件_第4页
第4页 / 共10页
使用C++MFC开发ActiveX控件_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《使用C++MFC开发ActiveX控件》由会员分享,可在线阅读,更多相关《使用C++MFC开发ActiveX控件(10页珍藏版)》请在金锄头文库上搜索。

1、 使甠 C MFC 开发 ActiveX 控件 开发环境 VS2008 运行环境 VS010 1 建立工程 操作步骤如下 本示例工程名 HbisMfcFVOCX 点击 完成 按钮后 MFC 工程建立 工程中自动添加很多文件和代码 2 解除 IE 安全提示 在 HbisMfcFVOCXCtrl h 文件中 pragma once 的下一行添加如下代码 添加 取消ie的安全提示 include objsafe h 添加完 如图 在 HbisMfcFVOCXCtrl h 文件中的声明部分声明 和 CHbisMfcFVOCXCtrl 构造函 数同在一个地方 增加 取消ie的安全提示 DECLARE I

2、NTERFACE MAP BEGIN INTERFACE PART ObjSafe IObjectSafety STDMETHOD HRESULT GetInterfaceSafetyOptions in REFIID riid out DWORD RPC FAR pdwSupportedOptions out DWORD RPC FAR pdwEnabledOptions STDMETHOD HRESULT SetInterfaceSafetyOptions in REFIID riid in DWORD dwOptionSetMask in DWORD dwEnabledOptions E

3、ND INTERFACE PART ObjSafe 添加完 如图 在 HbisMfcFVOCXCtrl cpp 文件中添加如下代码 注意将 CHbisMfcFVOCXCtrl 文字 更换成实际内容 添加 取消ie的安全提示 Interface map for IObjectSafety BEGIN INTERFACE MAP CHbisMfcFVOCXCtrl COleControl INTERFACE PART CHbisMfcFVOCXCtrl IID IObjectSafety ObjSafe END INTERFACE MAP ULONG FAR EXPORT CHbisMfcFVOC

4、XCtrl XObjSafe AddRef METHOD PROLOGUE CHbisMfcFVOCXCtrl ObjSafe return pThis ExternalAddRef ULONG FAR EXPORT CHbisMfcFVOCXCtrl XObjSafe Release METHOD PROLOGUE CHbisMfcFVOCXCtrl ObjSafe return pThis ExternalRelease HRESULT FAR EXPORT CHbisMfcFVOCXCtrl XObjSafe QueryInterface REFIID iid void FAR FAR

5、ppvObj METHOD PROLOGUE CHbisMfcFVOCXCtrl ObjSafe return HRESULT pThis ExternalQueryInterface const DWORD dwSupportedBits INTERFACESAFE FOR UNTRUSTED CALLER INTERFACESAFE FOR UNTRUSTED DATA const DWORD dwNotSupportedBits dwSupportedBits HRESULT STDMETHODCALLTYPE CHbisMfcFVOCXCtrl XObjSafe GetInterfac

6、eSafetyOptions in REFIID riid out DWORD RPC FAR pdwSupportedOptions out DWORD RPC FAR pdwEnabledOptions METHOD PROLOGUE CHbisMfcFVOCXCtrl ObjSafe HRESULT retval ResultFromScode S OK does interface exist IUnknown FAR punkInterface retval pThis ExternalQueryInterface if retval E NOINTERFACE interface

7、exists punkInterface Release release it just checking we support both kinds of safety and have always both set regardless of interface pdwSupportedOptions pdwEnabledOptions dwSupportedBits return retval E NOINTERFACE if QI failed HRESULT STDMETHODCALLTYPE CHbisMfcFVOCXCtrl XObjSafe SetInterfaceSafet

8、yOptions in REFIID riid in DWORD dwOptionSetMask in DWORD dwEnabledOptions METHOD PROLOGUE CHbisMfcFVOCXCtrl ObjSafe does interface exist IUnknown FAR punkInterface pThis ExternalQueryInterface if punkInterface interface exists punkInterface Release release it just checking else interface doesn t ex

9、ist return ResultFromScode E NOINTERFACE can t set bits we don t support if dwOptionSetMask can t set bits we do support to zero dwEnabledOptions we already know there are no extra bits in mask if dwOptionSetMask don t need to change anything since we re always safe return ResultFromScode S OK 添加结束

10、如图 注意 如果不添加解除 IE 安全的代码 生成的 OCX 可以在 html jsp 中调甠 但是在 asp 中调甠可能会报错 找不到成员 或 不支持此属性或方法 3 工程依赖的 DLL 添加 本工程需要依赖 Linux 认证 API 的动态链接库 LocalAuthenticationAPI2 将以下四个文件添加到工程目录下 LocalAuthenticationAPI2 dll LocalAuthenticationAPI2 h LocalAuthenticationAPI2 lib LocalAuthenticationAPI2 type h 将以下代码添加到 HbisMfcFVOCXCtrl h 文件中 include LocalAuthenticationAPI2 h 将 LocalAuthenticationAPI2 dll 放到 ocx 输出路径下 put mfx 右键单击项目名 属性 配置属性 链接器 输入 附加依赖项 添加 LocalAuthenticationAPI2 lib 如图 4 工程属性修改 修改输出目录 编译后的文件将输出到此处 5 向 MFC 工程中添加方法 右键单击选择添加 方法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号