编写ocx控件怎么添加事件

编写ocx控件怎么添加事件,第1张

1、控件事件一般都是由对外的接口引发到,这里定一个接口先:

该接口有一个字符串参数,表示调用者将传入一个字符串,传进来后,我们将取得字符串的长度。

2、添加事件:

事件应该是属于窗口的,所以在Ctrl类上单击右键-》添加:

3、添加一个事件“hello”:

该事件的参数是刚才那个字符串处理的结果,这里是long型。

4、在接口实现里调用事件函数:

[cpp] view plaincopy

// COcxEventCtrl 消息处理程序

LONG COcxEventCtrl::MyInterface(LPCTSTR strValue)

{

AFX_MANAGE_STATE(AfxGetStaticModuleState())

CString str = strValue

int len = str.GetLength()

hello(len)

return 0

}

事件函数的名字就是事件名称,参数就是在添加事件时候设置的参数。这里我们计算了字符串的长度,然后把结果给了事件函数。控件里面要做到就做完了。

一般来说可视化的有两种方法:

直接双击选中的按钮等空间就会自动生成消息响应函数。

也可以在控件上右键选中“添加事件响应函数”来进行添加 ,有些控件时间比较多,所以使用右键这种方式会比较全面。具体步骤:在按钮上右键->添加事件处理函数-> 选择选择类-> 选择事件类型 -> 完成。

1、如果你要使用特殊的事件处理程序的话,你可以重载一下你要使用的控件,在它的OnXxx方法中调用你自己定义的事件处理用的委托。这样,你在使用该控件(你自己重载的)时,就可以按照你自己的意志来传递参数了。

2、如果该控件不允许重载,你就只能写一个自定义控件,让后写一系列的自定义事件,把你要用的控件的事件提供给使用者。这样很麻烦,很容易引入错误,不建议使用。

3、再有一种就是最普遍的,采用全局变量,或者类的公开成员的方式来传递参数了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11942001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存