使用MFC创建并调用ActiveX控件
来源:互联网 发布:淘宝买完东西就下架了 编辑:程序博客网 时间:2024/05/17 21:14
使用MFC创建并调用ActiveX控件
原文链接:http://blog.sina.com.cn/s/blog_6d4b374e0101cpu1.html
今天做了一下ActiveX的使用测试,总结一下:
首先使用MFC创建一个activeX的控件譬如ActiveXTest,编译成ocx并注册,然后另外编写一个测试程序来调用该控件,发现有几种方式:
1:使用project-->Add to Project-->Components and Controls, 然后选择要加入的ocx或者dll,系统会自动生成.cpp和.h文件.并自动加入AfxEnableControlContainer(),这样就可以使用了.
2:由于activeX一般都有界面,所以可以在dialog里面插入控件的方式来使用,该方式是最简单的一种。创建一个dialog,然后点击右键选择Insert ActiveX Control,在控件库里面找到刚才注册的控件,这时在Controls(按钮栏)里面会出现一个ocx的按钮,可以直接拖进去使用。这时MFC会自动产生一个类,就是包含该控件的类(CActiveXTest),同时在InitInstance()方法里面添加控件初始化函数AfxEnableControlContainer();这样就可以直接在dialog使用控件的方法了。譬如定义ocx按钮的名字为actx,则直接调用
3:利用上述方法产生包含该控件的类(CActiveXTest),不使用dialog,这时必需手工添加包含该控件的窗体。方法是调用控件类的Create()方法。
CAcitveXText* actx = new CAcitveXText;
if(!actx->Create("NN", WS_CHILD|WS_VISIBLE, CRect(0,0,0,0), this,IDC_ACITVEXTEXTCTRL, NULL, FALSE, NULL))
{
TRACE0("Failed to create the FPWT Controln");
return; // fail to create
}
actx->ShowHello();
if(!actx->Create("NN", WS_CHILD|WS_VISIBLE, CRect(0,0,0,0), this,
{
}
actx->ShowHello();
4:利用class wizard添加该控件时,相对比较麻烦一些。这时要在InitInstance()里面添加初始化函数AfxOleInit();
然后在使用时要调用CreateDispatch()来创建控件,然后调用。
BOOL IsInvokeAllowed (DISPID)
{
// You can check to see if COleControl::m_bInitialized is FALSE
// in your automation functions to limit access.
return TRUE;
}
{
// You can check to see if COleControl::m_bInitialized is FALSE
// in your automation functions to limit access.
}
阅读全文
0 0
- 使用MFC创建并调用ActiveX控件
- 使用MFC创建并调用ActiveX控件
- [转载]使用MFC创建并调用ActiveX控件
- 【VS开发】使用MFC创建并调用ActiveX控件
- MFC创建activex控件
- VS2010创建ActiveX控件并在html中调用
- [ActiveX]使用VS2010创建MFC ActiveX工程项目
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 使用MFC开发ActiveX控件
- 线程池-自定义线程池<一>
- JavaScript学习总结——JavaScript编写类的扩展方法
- 深入浅出RxJava(三:响应式的好处)
- 8 个你可能不知道的 Docker 知识
- 计算一个字符串中每一个字符出现的次数
- 使用MFC创建并调用ActiveX控件
- CUDA By Examples 5
- POI(excel)
- 如何评估自己的购房能力?购房预算含哪些?
- 比较两个排序好的文件的方法—— comm
- Activity 的四种启动模式
- opencv3-python目标跟踪—基本的运动检测
- java.lang.IllegalArgumentException: No SqlMapClient specified 异常解决方案
- H5新增的一些标签