如何在VS2010中添加ActiveX控件及使用方法

如何在VS2010中添加ActiveX控件及使用方法,第1张

方法1:

1、首先在在项目上面右击添加类,如下图所示:

image

2、点击添加ActiveX控件中的MFC类

image

3、找到需要添加的ActiveX类。

image

4、点击完成即可。

image

5、此时转到资源视图,打开如下视图。可能工具箱中并没有我们刚刚添加的控件。这时,需要我们收到载入。

image

6、右击工具箱中的选择项按钮:

image

7、在选择工具箱项中找到刚刚添加的组件即可。(注:ActiveX组件它是建立在OLE于COM技术基础之上的技术)

image

8、右击项目,使用类向导,添加变量以及事件映射。

image

方法2:

上面介绍的方法过于臃肿,其实还有简单的方法。

1、直接右击,选择添加ActiveX控件即可。

image

2、然后找到自己需要添加的控件名称

image

3、完成后,右击,可以为控件添加变量以及添加事件处理程序与Dlg类建立联系。

imageimage

注:选择自定义的控件。即ActiveX控件会自动添加对应的类。这样就可以使用了。不过,这种方法需要重复使用。

还有就是这种方法与上面方法添加的类,有点小区别,但建立的类,无论是.h文件还是.CPP文件内容差不多。

对比以下两张图,分别是对同一个控件添加成员变量以及事件处理程序。

对于第一张图,它会在Cdemo4Dlg类中生成定义好的成员变量,以及控件本身生成的类。

注:类的生成要看控件的种类,自定义的控件,比如说ActiveX控件它会自动生成一个单独的类,而系统本身自带的控件并不会生成一个单独的类。

对于第二张图,它是针对Cdemo4Dlg类中生成的方法。

1: BEGIN_EVENTSINK_MAP(Cdemo4Dlg, CDialogEx) //表示时间映射的开始

2: ON_EVENT(Cdemo4Dlg, IDC_MONTHVIEW1, 4, Cdemo4Dlg::SelChangeMonthview1, VTS_DATE VTS_DATE VTS_PBOOL)

3: END_EVENTSINK_MAP() //表示时间映射的结束

4:

5:

6: void Cdemo4Dlg::SelChangeMonthview1(DATE StartDate, DATE EndDate, BOOL* Cancel)

7: {

8: // TODO: 在此处添加消息处理程序代码

9: //int iYear = m_Month.get_Year()//此m_Month为我们定义的成员变量。

10:

11: }

image

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

}

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存