0 前言
1、OCX是典型的ActiveX控件,常见的OCX控件有很多,IE浏览器、Word、Excel等都提供各种各样的OCX控件。
2、OCX控件的优点是可以在其他应用程序中嵌入使用。OCX控件做为插件、外挂式的应用非常灵活方便。
3、一般用的比较多的是做为视频、图片、图表等显示区域控件。最近碰到几个按钮的功能要封装成OCX控件,供其它程序使用。网上大概搜索了下,资料不多,于是自己写了下来,以供查找。
1 创建OCX项目
1、打开VC6.0,创建MFC ActiveX项目,工程名称:OcxDemo。
2、按照向导步骤操作,点击“完成”创建项目成功。
3、在OcxDemoCtrl.h文件中定义“增加”按钮。
//按钮IDC
#define IDC_BUTTON_ADD 0x2001 //"增加"按钮
private:
//"增加"按钮
CButton m_BtnAdd;
4、增加自绘“增加”按钮方法。
5、在OcxDemoCtrl.cpp新生成的CreateBtnAdd方法中添加创建按钮相关代码。
m_BtnAdd.Create(_T("Add"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(10,10,60,30), this, IDC_BUTTON_ADD);
6、对“增加”按钮,增加响应事件。
//OcxDemoCtrl.h
private:
//"增加"按钮
CButton m_BtnAdd;
//"增加"按钮单击响应
void OnButtonAdd();
//OcxDemoCtrl.cpp
BEGIN_MESSAGE_MAP(CActiveXDemoCtrl, COleControl)
//{{AFX_MSG_MAP(CActiveXDemoCtrl)
// NOTE - ClassWizard will add and remove message map entries
// DO NOT EDIT what you see in these blocks of generated code !
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
//}}AFX_MSG_MAP
ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
END_MESSAGE_MAP()
void COcxDemoCtrl::OnButtonAdd()
{
MessageBox("增加");
}
7、删除OnDraw中代码。
//pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
//pdc->Ellipse(rcBounds);
8、编译生成OcxDemo.ocx。
9、源码:OcxDemo.rar
2 测试OcxDemo.ocx
1、打开ActiveX Control Test Container工具,插入OcxDemo.ocx。
2、Invoke:CreateBtnAdd方法。
3、测试CreateBtnAdd方法,成功。
3 VC6调用OCX控件
1、打开VC6.0,创建MFC AppWizard[exe]对话框项目,工程名称:OcxTestDemo。
2、插入OcxTestDemo.ocx到控件面板。
3、对控件添加关联成员变量:m_OcxDemoCtrl。
4、BOOL COcxTestDemoDlg::OnInitDialog()添加自绘“增加”按钮方法。
m_OcxDemoCtrl.CreateBtnAdd();
5、编译生成OcxTestDemo.exe,查看调用OcxDemo.oxc效果。
6、源码:OcxTestDemo.rar
分享到:
相关推荐
1.用VC6.0 OCX组建开发的软件,到没有环境的机器上跑不起来 2.只要下载本文件,然后在到其它机器里面先点击批处理文件,就可以自动注册; 3.可以可以在代码里面用CMD命令调用批处理文件,实现自动注册!
用MtbLine.ocx控件,在vc++6.0环境下画出数字示波器的程序,含有控件资源。4路通道,可调节属性及数据。
很简单的控件应用程序,初学者可以看下做程序是可以参考,
VC6.0从开发activex ocx控件到发布到网上全 过 程
窗体内的控件大小随窗体的变化而变化(OCX文件)
在VC6.0下创建一个简单的ActiveXocx.zip在VC6.0下创建一个简单的ActiveXocx.zip在VC6.0下创建一个简单的ActiveXocx.zip在VC6.0下创建一个简单的ActiveXocx.zip
Internet Explorer(Lite)ActiveX控件;在 ATL中创建Full ActiveX控件;ATL对ActiveX控件 的属性页面的支持; ATL中对ActiveX控件事件的支持; 在MFC中创建特殊化的ActiveX控件; 在 MFC 中创建全性能的 ActiveX ...
本程序使用VC6.0的通用串口控件MSCOMM32.OCX来对发送到串口的数据进行采集处理。 读串口数据的原理是,只要当有数据向串口发数据来时,计算机就会自动将其数据写到一个特定的缓冲区,我们只要写程序去读那个特定的缓冲...
多年编程积累的vc6.0下的常用控件,包括是示波器控件,数码管控件,串口控件,字体设置控件,编辑框控件,非常难得,极大得提高编程效率。
利用VC 6.0 开发的计算器的ocx控件。
使用VC6.0时我们常常需要使用MS CHART控件来做图表,但是VC6.0不自带这个控件,需要自己下载OCX文件来注册。注册方法为:mschart20.ocx,msdatasrc.dll放在同一目录,运行cmd后,输入regsvr32 mschrt20.ocx加回车。...
vc2005 vc2008的msflxgrd,当你用VC2005或者2008时,需要使用VC6的msflxgrd.ocx控件.即使有这个控件也要运行这个脚本,配置好系统环境.
aRes 是一个功能极佳的标准ocx报表控件,采用VC开发,可以像操作Word方式一样徒手设计形式各异的...本控件是采用VC6.0开发的标准的ActiveX控件,可以内嵌到任何支持ActiveX控件的开发工具中(如VC、VB、PB...),支持Web。
aResreport是一个功能极佳的标准ocx报表控件,采用VC开发,可以像操作Word方式一样徒手设计形式...本控件是采用VC6.0开发的标准的ActiveX控件,可以内嵌到任何支持ActiveX控件的开发工具中(如VC、VB、PB...),支持Web。
vc6.0 下的调用ocx控件的工具TSTCON32