上一篇小编带大家熟悉了一下ActiveX的建立以及相关的概念,(http://blog.csdn.net/u014028070/article/details/38424611

本文介绍下如何给控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作

我们接着以之前的程序为例子。

如何添加标准属性

(1)      首先我们要清楚,一个控件的属性添加后,它就被添加在接口中,本文既在_DTest 中,我们打开类视图选项卡,打开_DTest,“右键”->“添加属性”,单击,出现如下图所示

(2)      属性名下拉列表中,将会看到出现在列表框中的属性,这些都是“标准属性“,我们选择两个属性为参考,BackColor和ForeColor,点击完成即可,我们会发现接口下面,出现了这两个属性。

(3)      要想让我们所选择属性的值显示在控件上,我们还需添加几行代码,在OnDraw()函数中,我们添加如下

(4)      在CTestCtrl源文件中(.cpp)找到如下的位置,并添加代码,此语句功能是增加属性页,其中PROPPAGEID(CLSID_CColorPropPage) 增加的是 颜色属性页,注意:我们已经增加了属性页了,所以我们要在此修改为数值 “2”

(5)      编译(F7),然后打开容器测试程序,添加我们的控件,此时我们要修改属性时,如下图,在容器测试程序中,“EDIT“->”属性“  出现一个对话框。点击”颜色选型卡“,即可对颜色属性进行修改,确认即可显示。

如何添加自定义是属性

(1)      程序中定时器设置的是一秒刷新一下,我们可以通过添加自定义属性,来手动设置时间间隔,“接口_DTest“右键”->添加属性,在”属性名“中我们手动输名称”Interval“,此时变量名被自动设置为以”m_”打头的名字(本文中是m_interval),其中,属性名是在其他开发环境中属性的名称,而“变量名”是在VC开发环境下属性的成员变量。这一点要注意。

(2)      选择Member variable,类型为短整型short,点击确定,此时我们就添加了一个自定义属性。

(3)      接下来我们来使用已经定义好的属性,如下图,我们添加代码

(4)      此时我们可以再容器测试程序中测试,打开测试程序,添加控件,在“Control“->“invoke method”,我们在“方法名称“选择interval(propput),因为我们是要设置属性的值,所以选择put,输入想要的值,如下图,

(5)      到此我们看见,时间按我们设置的时间进行显示。

如何添加方法(相当于函数)

(1)      添加方法仍然是在“接口“选项中添加,我们在此简单的演示下,此时我们已经添加了一个方法  Hello,注意:在“接口_DTest“下出现我们添加的方法,如下图。

(2)      要知道,我们的所添加的方法,都要在CTestCtrl类中实现。所以我们在CTestCtr类中找到方法Hello,添加一个消息框,如下图。

(3)      我们在容器测试程序中调用方法Hello(),打开测试程序,添加我们的Test控件,

(4)      此时可以看到已经蹦出来一个消息框了。

如何添加事件

(1)    在CtestCtrl类上右键,添加事件(可以为该类添加一个事件),注意,事件的功能实现并不是由控件完成的而是由调用控件的程序完成的,

(2)    我们添加一个标准事件,“点击“事件

(3)    在此我们可以发现我们添加的事件,如下图。

(4)    我们仍然在容器测试程序中调用他,尽管我们没有写任何代码,但是我们已经添加了一个点击事件。首先先编译一下(F7)

(5)    我们点击控件,发现测试程序下面的消息框,出现如下字样,证明控件检测到我们点击了控件这个事件。

到此小编已经为大家通过简单的例子,来介绍如何添加事件,属性,方法的步骤以及一些概念,下一篇,我介绍下如何在自己写的程序中使用ActiveX控件。http://blog.csdn.net/u014028070/article/details/38424611点击打开链接

如何给ActiveX控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作的更多相关文章

  1. WPF系列 —— 控件添加依赖属性(转)

    WPF系列 —— 控件添加依赖属性 依赖属性的概念,用途 ,如何新建与使用.本文用做一个自定义TimePicker控件来演示WPF的依赖属性的简单应用. 先上TimePicker的一个效果图. 概念 ...

  2. c# 开发ActiveX控件,添加事件,QT调用事件

    c# 开发 ActiveX 的过程参考我的另一篇文章 :  https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX ...

  3. 【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样

    申明: - 本文适用于WinForm开发 - 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem.MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件 用过To ...

  4. ATL向控件添加私有属性-成员变量

    https://msdn.microsoft.com/zh-cn/library/cc451389(v=vs.71).aspx ------------------------------------ ...

  5. 【VS开发】ActiveX控件如何定制属性?

    在很多场合下会存在这样的需求,那就是使用方在实际使用控件之前就想控件已经做了相应的处理比如加载的控件版本不正确等,或者需要在加载时才确定能够使用的功能集:这个时候传统的配置文件已经无法满足这种类型的需 ...

  6. WPF系列 —— 控件添加依赖属性

    依赖属性的概念,用途 ,如何新建与使用.本文用做一个自定义TimePicker控件来演示WPF的依赖属性的简单应用. 先上TimePicker的一个效果图. 概念 和 用途:依赖属性是对传统.net ...

  7. WPF对某控件添加右键属性

    代码创建右键属性 ContextMenu cm = new ContextMenu(); MenuItem mi = new MenuItem(); mi.Header = "打开此文件所有 ...

  8. Delphi 编写ActiveX控件(OCX控件)的知识和样例(有详细步骤)

    一.ActiveX应用情况简介: ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分.ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32 ...

  9. ActiveX控件(MFC篇)

    目录 第1章 VC++6.0创建控件    1 1.1 目标    1 1.1.1 方法    1 1.1.2 属性    1 1.1.3 事件    1 1.2 创建项目    2 1.3 项目结构 ...

随机推荐

  1. CSS3 Filter

    Filters主要是运用在图片上,以实现一些特效.(尽管他们也能运用于video上),不过我们在些只来讨论图片上的运用. 语法: elm { filter: none | <filter-fun ...

  2. word文档中的字号和磅的对应关系

    字号 磅 初号 42 小初 36 一号 26 小一 24 二号 22 小二 18 三号 16 小三 15 四号 14 小四 12 五号 10.5 小五 9 六号 7.5 小六 6.5 七号 5.5

  3. c++强制类型转换(static_cast,const_cast,dynamic_cast,reinterpret_cast)

    static_cast <typeid>(exdlvssion) static_cast 很像 C 语言中的旧式类型转换.它能进行基础类型之间的转换,也能将带有可被单参调用的构造函数或用户 ...

  4. Interpreter

    #include <string> #include <iostream> #include <stack> using namespace std; stack& ...

  5. C#反射动态调用dll中的方法

    //加载程序集(dll文件地址),使用Assembly类 Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirec ...

  6. Lenovo Setup(安装程序)

    按住F1,进入“Lenovo Setup”. 一.Main(条目处的设置不可更改) UEFI BIOS Version H1ET69WW(1.12) UEFI BIOS Date(Year-Month ...

  7. winform的datagridview单元格输入限制和右键单击datagridview单元格焦点跟着改变

    在datagridview的EditingControlShowing事件里面添加代码: if (this.dgv_pch.Columns[dgv_pch.CurrentCell.ColumnInde ...

  8. c# 数据库操作学习

    一. 如何处理数据库连接 1. 数据库连接可以分为“物理连接”和“逻辑连接”(默认使用连接池的情况下Pooling=true): 物理连接:创建数据库连接时,默认会有一定数量的物理连接(默认Min P ...

  9. ThinkPHP之中的事务回滚

    小李子 获取thinkphp之中执行的SQL: 1.用调试模式的追踪trace功能: 2.代码: $user_type=D('user_type'); $datass=array('school_id ...

  10. thinkphp foreach循环生成二维数组的方法

    先做个问题记录,另外下面是做的过程中遇到的一个没想明白的现象 foreach($result as $key => $val ){ $wzList[$key]['lik']=$val[0]; $ ...