原文:http://www.cnblogs.com/joinclear/archive/2013/05/21/3091934.html

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方法,成功。

3VC6调用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开发OCX按钮控件的更多相关文章

  1. IOS开发之按钮控件Button详解

    reference:http://mxcvns.lofter.com/post/1d23b1a3_685d59d 首先是继承问题,UIButton继承于UIControl,而UIControl继承于U ...

  2. VC6.0 MFC中WebBrowser控件禁止新窗口弹出的解决办法

    http://blog.csdn.net/gnorth/article/details/7258293 分类: WebBrowser MFC 禁止新窗口2012-02-14 15:25 1787人阅读 ...

  3. 安卓开发_复选按钮控件(CheckBox)的简单使用

    复选按钮 即可以选择若干个选项,与单选按钮不同的是,复选按钮的图标是方块,单选按钮是圆圈 复选按钮用CheckBox表示,CheckBox是Button的子类,支持使用Button的所有属性 一.由于 ...

  4. 基于C#开发的扩展按钮控件

    最近在准备一套自定义控件开发的课程,下面将第一个做的按钮控件分享给大家. 其实这个控件属于自定义控件中的扩展控件,与组合控件和GDI+开发的控件不同,这个控件是继承原生的Button, 这个控件的目的 ...

  5. MFC编程入门之二十三(常用控件:按钮控件的编程实例)

    上一节讲了按钮控件Button.Radio Button和Check Box的基本用法,本节继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中如何使用. 因为Button控件在前 ...

  6. Fixjs实践——标签、按钮控件

    Fixjs介绍 Fixjs是一款javascript界面基础框架,主要为开发复杂组件提供底层的框架支持. Fixjs 0.3.0主要增加了文本显示类fixjs.text.TextField 支持的主要 ...

  7. VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)

    上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件 ...

  8. Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系

    Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系 1. Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似 ...

  9. 基于Jquery WeUI的微信开发H5页面控件的经验总结(2)

    在微信开发H5页面的时候,往往借助于WeUI或者Jquery WeUI等基础上进行界面效果的开发,由于本人喜欢在Asp.net的Web界面上使用JQuery,因此比较倾向于使用 jQuery WeUI ...

随机推荐

  1. python全栈开发学习_day2_语言种类及变量

    一.编程语言的分类及python相对其他语言的优势 1)三大语言种类及细分 1.机器语言(低级语言):直接用计算能够理解的二进制进行编写,直接控制计算机硬件. 优点:执行效率高. 缺点:开发效率低,跨 ...

  2. ie下的值改变事件

    前两天在页面上写了一个值改变事件,值是用js改变的,用的oninput方法和onpropertyChange方法,但是可能是因为框架的缘故,在ie浏览器下,陷入了莫名其妙的循环中.然后考虑是在加载的时 ...

  3. Flutter 实现退出登录功能,应用退出到登录界面 | 返回应用首页

    1. 使用场景:退出登录./// 路由作用:移除 [ModalRoute.withName("/loginPage")] 除外的所有界面,并跳转到 ["/loginPag ...

  4. python3 md5

    参考: https://docs.python.org/3/library/hashlib.html?highlight=hashlib#credits https://blog.csdn.net/w ...

  5. Java 的多态

    1    多态的概念 多态(?) 可以理解为多种状态/多种形态 同一事物,由于条件不同,产生的结果不同   程序中的多态 同一引用类型,使用不同的实例而执行结果不同的. 同:同一个类型,一般指父类. ...

  6. Spring boot 项目部署服务器

    Spring Boot 有两种部署到服务器的方式,这里介绍官方推荐的(jar包) 一.首先进行application.properties配置 # EMBEDDED SERVER CONFIGURAT ...

  7. ionic3打包打包安卓apk详细过程以及遇到的问题

    1.jdk和sdk的安装以及环境变量配置参考打包详解 上述连接已经从下载安装jdk以及sdk的环境变量配置到打包的流程以及很详细了.但是在我自己安装打包的过程中遇到了这篇文章中没有遇到的问题,下面图文 ...

  8. 如何应用前端技术唤起app及判断用户来源及与原生交互的原理

    做唤起时需要native端进行配合, h5唤起app这种需求是常见的.在移动为王的时代,h5在app导流上发挥着重要的作用. 目前我们采用的唤起方式是url scheme(iOS,Android平台都 ...

  9. C 标准库 - string.h之strspn使用

    strspn Returns the length of the initial portion of str1 which consists only of characters that are ...

  10. 移动前端 HTML5 head

    移动前端不得不了解的HTML5 head 头标签(2016最新版) 发表于 2016年10月20日 by 愚人码头 被浏览 875 次 小编推荐:掘金是一个高质量的技术社区,从 ECMAScript ...