存档

文章标签 ‘ActiveX’
707 views

用 SDK 玩转 ActiveX

2010年2月22日

原帖在此(也许不能访问): http://blog.titilima.com/show-64-1.html

调用 ActiveX 控件?呃,这实在不是一件容易的事情:用各种封装精良的 Framework(MFC、VCL等等)的话,最后成品 EXE 的体积难免偏大;用SDK虽然可以有效地减小这个体积,但是往往又无从下手——总之,这似乎是一件鱼与熊掌不能兼得的憾事。还好,“不容易”并不代表“不可能”,我在本文中要介绍给诸位的,就是“玩转”ActiveX 的一种方法,这种方法包括了从 ActiveX 控件调用到 ActiveX 控件事件处理的一切必要细节。当然,题目所说的“SDK”也并不是纯粹的 SDK,而是借助了 ATL 的 OLE 支持,毕竟用 SDK 实现 OLE 容器太繁琐了。

在开始正文之前,我还想说明一下本文所面向的读者群。首先,你必须对 SDK 的编程方式和 COM 组件的调用方式有所了解,因为本文中的绝大部分示例代码都与之相关,涉及到这方面的知识我也不会再加以解释;其次,你可以不了解 ATL,因为本文中对 ATL 的使用仅限于 ActiveX 的 OLE 容器,我也只是在适当的地方给予简要的说明;再次,你可以不了解 COM 连接点的知识,我在文中会给予详细的介绍。
那么闲话毋庸赘叙,让我们开始吧。
阅读全文…

技术心得 , ,

508 views

MFC 程序员的 WTL 教程 ( 6 ) — 宿纳 ActiveX 控件

2010年1月4日

链接:上一部分下一部分

第六部分 – 宿纳 ActiveX 控件

内容

  • 简介
  • 以 AppWizard 开始
    • 创建工程
    • 生成的代码
  • 使用资源编辑器添加控件
  • 用于宿纳控件的 ATL 类
    • CAxDialogImpl
    • AtlAxWin 和 CAxWindow
  • 调用控件的方法
  • 接收控件激发的事件
    • 在 VC 6 里添加处理器
    • 在 VC 7 里添加处理器
    • 事件的知会
      • VC 6 里的知会
      • VC 7 里的知会
  • 示例工程概述
  • 运行时创建 ActiveX 控件
  • 键盘处理
  • 下一步
  • 修订历史

简介

在这第六部分里,我将介绍 ATL 对在对话框中宿纳(hosting)ActiveX 控件的支持。由于 ActiveX 控件是 ATL 的专项,所以这儿并没有相关的 WTL 类。不过,因为 ATL 宿纳控件的方式与 MFC 迥异,所以这是我们要介绍的一个重要主题。我会介绍如何宿纳控件以及接收(sink)事件,并开发一个相比用 MFC 的 ClassWizard 写就的应用毫无功能损失的应用程序。当然,你可以在你写的 WTL 应用中使用 ATL 对控件宿纳的支持。

阅读全文…

Internet Explorer Programming, MFC 程序员的 WTL 教程, WTL , , ,