码迷,mamicode.com
首页 > 其他好文 > 详细

visual stdio 开发ActiveX控件基本教程

时间:2017-09-30 11:36:16      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:调试   visual   app   示例   构造   分享   转化   管理员   创建   

比较少人会专门开发控件,但是有时候工作需要,需要开发简单的控件,控件技术

因为要和浏览器交互,所以有些需要注意的点,此文为需要开发简单控件准备,基本

满足基本的功能要求。包含必要的工程设置,方法的创建和调用,属性的添加和使用,

事件的添加,以及事件的使用,和JS的交互示例。希望对你有用。

 

1. 以管理员权限打开Visual Stadio并创建MFC ACTIVEX 工程。

以管理员权限打开是因为编译调试时,会在系统注册这个控件,需要管理员权限

 

2. 设置调试环境。以免无法进行调试。

技术分享

 

3. 设置静态库使用MFC

技术分享

 

4. 在类视图中,添加方法

技术分享

 

5. 在类视图中添加属性,如上图选择属性。

属性的用法,

  1. 属性可以在初始化的时候设置。如下图JS。                                         

             技术分享

        2.  这样设置的属性,需要在代码中持久化

           技术分享

         3. 属性更改后。控件中会得到通知。

           技术分享

          

           响应函数中在值改变时,会得到通知。

 

 6 . 为了方便调试,可以增加控制台界面,将调试信息输出到控制台

首先,在App类中,添加如下代码。就可以调用 printf 输出信息到控制台,调试非常方便。

技术分享

 

7.  添加事件,和JS交互,有些事件处理事件比较长,可以通过事件通知的形式,通知JS更新状态。还是在类视图,这次选择CTRL类,右击菜单,如下:

技术分享

 

事件函数名称可以自定义,也可以用已有的几个事件。

在完成添加后,会自动添加如下代码。也可能是在类的定义里,

技术分享

在添加完事件后,在JS中,可以添加事件处理,如下

 技术分享

 

 8.  因为是Unicode编码方式,所以需要用到wide转mutil字符的函数,如下,

  技术分享

 

9.  因为JS和ActiveX交互,地址空间是不一样的,如果ActiveX中申请的内存需要返回到JS中,需要用Sys接口申请内存,如下:

    技术分享

 

 

10. 对于mutil和wide char 的转换,还有一种方式就是使用CString 构造。

CString 有传muti char的构造函数。实现自动转化,你就说牛不牛逼,意不意外。

 

11. 关于运行的时候提示找不到dll,一般如果dll本身没问题的话,肯定是你引用的路径由问题。排除方法是,在调用loadLibrary之前调用 GetCurrentFolder(这个函数不能直接调,我只是想说,你可以找个系统函数获得当前执行路径),如果这个路径下没有dll,那肯定是要报错的嘛!

 

好了,先记录这么多,后续有高级特性再添加。

visual stdio 开发ActiveX控件基本教程

标签:调试   visual   app   示例   构造   分享   转化   管理员   创建   

原文地址:http://www.cnblogs.com/tita/p/7613873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!