mfc之ocx控件制作
2015-02-03 14:49
281 查看
一、控件有属性,事件和方法。mfc把它封装了两个接口。
属性,是对外公布的类成员变量,添加属性可以很方便使用者,如js,php,swf等网页或其他对控件外观或值进行方便的修改。让
ocx控件使用起来就像一个常用如按钮控件一般。
方法,也是对外公布的,这些方法能被外部如js,asp等多种语言调用,内部用c++实现,很好让c++和其他语言配合使用。
事件,是ocx控件的响应事件,比如单击,双击事件其实和其他的如按钮控件查不多啦
其实,ocx控件就和其他控件差不多,只是ocx控件是基于ATL组件实现的,用的时候需要注册。
二、控件的详细制作就不说了,建立控件工程,右击两个接口就可以添加属性事件和方法了。
三、控件的注册、卸载
1.运行 regsvr32 ocx控件全路径名 卸载 regsvr32 -u ocx控件全路径名
2.写成bat批出里 regsvr32 %~dp0控件名.ocx
regsvr32 -u %~dp0控件名.ocx
四、获取控件的注册路径
1.简单的方法:在app类InitInstance里面增加代码处加上以下代码:
g_szOcxName = this->m_pszExeName; //获取控件名
g_szOcxName += ".HLP"; //得到 控件名.HLP
int nTmp = g_szOcxName.GetLength(); //得到 控件帮助文件路径形如: c:\ocx\Form.HLP
nTmp = g_szOcxPath.GetLength() - nTmp;
g_szOcxPath = g_szOcxPath.Left(nTmp); //得到 控件路径 如: c:\ocx\
2:还可以通过方法动态获取
HMODULE hh = NULL;
hh = ::GetModuleHandle("控件名.ocx"); //获取控件句柄
char buff[200]={0};
CString strPath = ::GetModuleFileName(hh,buff,200); //获取控件全路径名
int iPos = strPath.AnsiPos("控件名.ocx");
if(iPos>0) iPos = iPos -1;
strPath = strPath.SubString(0,iPos); //去掉 控件名.ocx 或的注册路径
相关文章推荐
- c#调用c++制作的基于mfc的ocx控件
- c#调用c++制作的基于mfc的ocx控件
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- 用MFC ActiveX Control Wizard生成的OCX控件
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- vs2010开发activex(MFC)控件/ie插件(三),js调用ocx控件的接口函数
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- inno setup制作网页ocx控件发布程序执行包
- 用mfc写的ocx控件,事件名称中有下划线竟然不能触发
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- MFC ActiveX (ocx)控件的开发的一些注意点
- 简单ocx控件制作方法
- 简单ocx控件制作方法(原创)
- MFC OCX 控件事件的添加和处理
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- 在MFC中使用OCX控件遇到的一个问题
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- MFC OCX控件实现安全初始化和脚本安全的方法
- 如何使用VB制作OCX控件