ACTIVEX控件的制作

本文介绍了如何在MFCACTIVEXCONTROLWIZARD工程中创建一个显示动态时间的时钟控件。从新建工程到实现定时刷新显示,再到属性、方法及事件的添加进行了详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,新建MFC ACTIVEX CONTROLWIZARD工程,名为Clock,选择空的工程 ,新建一个Clock.cpp源文件

2.再CClockCtrl类中添加WM_CREATE和WM_TIMERA的消息响应函数,添加的代码如下所示

int CClockCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
 if (COleControl::OnCreate(lpCreateStruct) == -1)
  return -1;
 
 // TODO: Add your specialized creation code here
 SetTimer(0,1000,NULL);
 return 0;
}

void CClockCtrl::OnTimer(UINT nIDEvent)
{
 // TODO: Add yomessage handler code here and/or call default
 Invalidate(true);
 COleControl::OnTimer(nIDEvent);
}

3.再OnDraw()中加入:

CBrush brush(TranslateColor(GetBackColor(),NULL));
 pdc->FillRect(rcBounds, &brush);
 pdc->SetTextColor(TranslateColor(GetForeColor(),NULL));
 pdc->SetBkMode(TRANSPARENT);
 CTime time = CTime::GetCurrentTime();
 CString str = time.Format("%H:%M:%S");
 pdc->TextOut(0,0,str);

4.运行一下,是不是看到了一个和本地机器保持同步的动态时间,这只是实现了一个最基本的功能,下面依次介绍属性,

方法和事件的添加方法.

5.属性的添加,打开类向导对话框,选中AUTOMATION,单击ADD PROPERTY按钮,再下拉列表框中可以框架为我们设计好的几个属性,再这里,我们BACKCOLOR和FORECOLOR这两个属性,分别表示控件的背景颜色和文本颜色.编译后用ACTIVEX  TEST CONTAINER测试效果.

6.方法的添加.打开类向导对话框,选中AUTOMATION,单击METHOD,外部名字和类中的方法名字都是HELLO,函数类型VOID,系统会自动添加HELLO()函数,再里面加入MESSAGEBOX("HELLO WORLD!');

7.事件的添加.打开类向导对话框,选中,单击ACTIVEX EVENTS,在一个下拉例表框中选入CLICK,这样当这个控件被另外的应用程序使用时,就可以对这个事件添加消息响应函数,有兴趣的朋友可以试下.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值