写一个Activex控件,如何实现自定义事件?如何触发类似Click等一些固有事件?

时间:2022-02-25 21:03:01
用VC写一个Activex控件,遇到了难题,我的程序结构是这样的,在控件里头,添加两个窗体,然后在窗体上添加了些控件,例如Picture控件,想编写点事件,供调用的时候使用,例如Click事件,MouseMove事件,自定义事件。

在Ctrl那个类点右键,可以添加一些事件,但是这些事件都是在控件母板中的,并不在窗体上,现在窗体是布满了整个控件,因此虽然添加了Click控件,但是单击的时候,并不会响应事件。如果窗体没有布满控件,点击窗体之外的部分,是可以响应的。

本问题包含两个部分:

1、如何实现自定义事件?就是除了Windows固有的事件,如何编写一些其它事件。

2、在Ctrl类中添加的Click、MouseMove等事件,如何在另一个窗体中激发它?

8 个解决方案

#1


发送消息触发事件

#2


引用 1 楼 oyljerry 的回复:
发送消息触发事件


请问怎么 发送消息触发事件 ?
我对VC比较陌生,这次是写个控件供C#调用的。

#3


请问如何触发事件?

如何写自定义事件?

#4


话说你不直接操作“控件母板”的话,那你写 Activex 有何作用?
那还不如自己继承其它类再自己写个类算了

#5


引用 4 楼 Sandrer 的回复:
话说你不直接操作“控件母板”的话,那你写 Activex 有何作用?
那还不如自己继承其它类再自己写个类算了


控件母板  没有界面,我没办法添加其它控件,有办法直接添加控件到母板中吗?

#7


你是需要通过点击控件等从ACTIVE控件得到消息然后回传到c#窗体?
有一种简单的方法是c# marshal将回调函数指针传给activex控件,当某事件触发就调用回调函数

#8


zgl7903   提供的基本能解决问题。


后来已经不是用另一个窗体做了,直接加在控件母板上。

#1


发送消息触发事件

#2


引用 1 楼 oyljerry 的回复:
发送消息触发事件


请问怎么 发送消息触发事件 ?
我对VC比较陌生,这次是写个控件供C#调用的。

#3


请问如何触发事件?

如何写自定义事件?

#4


话说你不直接操作“控件母板”的话,那你写 Activex 有何作用?
那还不如自己继承其它类再自己写个类算了

#5


引用 4 楼 Sandrer 的回复:
话说你不直接操作“控件母板”的话,那你写 Activex 有何作用?
那还不如自己继承其它类再自己写个类算了


控件母板  没有界面,我没办法添加其它控件,有办法直接添加控件到母板中吗?

#6


#7


你是需要通过点击控件等从ACTIVE控件得到消息然后回传到c#窗体?
有一种简单的方法是c# marshal将回调函数指针传给activex控件,当某事件触发就调用回调函数

#8


zgl7903   提供的基本能解决问题。


后来已经不是用另一个窗体做了,直接加在控件母板上。