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
分享到:
相关推荐
在VC6.0中,我们可以使用MFC(Microsoft Foundation Classes)库来开发OCX控件,这大大简化了控件的编程工作。 描述中提到的“窗体内的控件大小随窗体的变化而变化”,这是窗体响应式设计的一个方面,确保用户界面...
在编程领域,Visual C++ 6.0(简称VC6.0)是一款经典的集成开发环境,主要用于编写Windows应用程序。在VC6.0中,控件是构建用户界面(UI)的基本元素,它们允许用户与软件进行交互。这篇教程将深入探讨几种常用的VC...
在本文中,我们将深入探讨如何在Microsoft Visual C++ 6.0(简称VC6.0)环境下使用MtbLine.ocx控件来构建一个数字存储示波器的应用程序。MtbLine.ocx是一个专为图形绘制设计的ActiveX控件,它提供了丰富的图形绘制...
1.用VC6.0 OCX组建开发的软件,到没有环境的机器上跑不起来 2.只要下载本文件,然后在到其它机器里面先点击批处理文件,就可以自动注册; 3.可以可以在代码里面用CMD命令调用批处理文件,实现自动注册!
在VC6.0下创建一个简单的ActiveXocx.zip在VC6.0下创建一个简单的ActiveXocx.zip在VC6.0下创建一个简单的ActiveXocx.zip在VC6.0下创建一个简单的ActiveXocx.zip
总的来说,这个压缩包提供了一个全面的OCX控件开发和测试的学习资源,涵盖了从源代码编写、编译、测试到实际应用的全过程。对于想要深入理解和实践ActiveX控件技术的开发者来说,这是一个宝贵的资料集合。通过学习和...
"使用 CWMPPlayer4 类在 VC6.0 中开发基于 ActiveX 控件的媒体播放器" 在开发基于 ActiveX 控件的媒体播放器时,使用 CWMPPlayer4 类是非常实用的。 CWMPPlayer4 类是 Windows Media Player 的一个控件类,提供了...
### VC6.0+Arcengine9.0 开发应用程序框架制作 #### 一、概述 在探讨如何使用 VC6.0 和 Arcengine9.0 开发应用程序框架之前,我们需要了解两个核心工具的基本概念: 1. **Visual C++ 6.0 (VC6.0)**:这是一款由...
在Microsoft Visual C++ 6.0(简称VC6.0)这个经典的开发环境中,开发者们经常需要实现一些自定义的用户界面效果,其中就包括了让对话框具有透明背景的功能。对话框通常用于向用户提供一个独立的操作环境,而透明...
本篇文章将详细介绍如何在Visual C++ 6.0 (VC6.0) 使用MFC框架进行界面美化的三种方法:在对话框中插入背景图、设置列表控件背景以及全局更改界面背景色。 #### 二、在对话框中插入背景图 1. **插入位图** - **...
总之,“vc6.0_msocx”这个问题的核心在于如何在新旧开发环境之间实现兼容,以便继续使用旧版的`msflxgrd.ocx`控件。解决这个问题需要对Windows编程、ActiveX控件机制以及Visual Studio的版本差异有深入的理解。通过...
在本资源"OCX.zip"中,我们有一个由C++编写的OCX控件,它是利用Visual C++ 6.0(VC++ 6.0)开发的。OCX控件是基于MFC(Microsoft Foundation Classes)库的,这是一个为Windows API提供面向对象编程的C++类库。 C++...
总结来说,TSTCON32是面向VC6.0开发者的OCX控件测试工具,它简化了控件的测试过程,促进了OCX控件的开发和应用。了解并熟练掌握TSTCON32的使用,对于提升Windows应用程序的开发质量和效率具有重要意义。在实际工作中...
### ArcGIS 10 在 VC6.0 环境下的开发配置与实践 #### 一、在 IDE 新建工程 在 Visual C++ 6.0(简称 VC6.0)环境中开发基于 ArcGIS 10 的应用时,首先需要在集成开发环境(IDE)中创建一个新的工程。具体步骤如下...
在IT领域的MFC框架中,`CListCtrl`类是一个重要的组成部分,用于封装列表控件(`ListCtrl`)的各种操作,使开发人员能够更方便地在应用程序中实现列表功能。列表控件是Windows用户界面中常见的一种组件,它可以显示一...