- 13
- 0
- 约8.81千字
- 约 6页
- 2017-05-12 发布于河南
- 举报
MFCActiveX实例程序
*****************创建一个MFC ActiveX控件程序(时钟控件程序) (开发工具:VS 2003) ***********************
一:步骤和生成的文件
1:文件-新建-项目-Visual C++项目-MFC-MFC ActiveX控件-名称填Clock-确定
-应用程序设置(运行时许可证:构选后会生成一个控件许可文件,当其它程序调用此控件时,如果没有此许可文件
就无法使用此控件,一般不构选).
-控件名称(控件类型ID:CLOCK.ClockCtrl.1,属性页类型ID:CLOCK.ClockPropPage.1)-完成.
2:生成的文件包括:(Clock.h,Clock.cpp对应CClockApp),(CClockPropPage.h, CClockPropPage对应CClockPropPage),
(ClockCtrl.h,ClockCtrl.cpp对应CClockCtrl),(Clock.idl对应_DClock和_DClockEvents).
3:生成动态的时钟控件步骤
(3.1):在CClockCtrl的OnDraw中:
void CClockCtrl::OnDraw(CDC* pdc, const CRect rcBounds, const CRect rcInvalid)
{
if (!pdc) return; //默认代码
//自己添加的代码
CTime time = CTime::GetCurrentTime();
CString str = time.Format(%H:%M:%S);
pdc-TextOut(0,0,str);
}
(3.2):为CClockCtrl添加消息WM_CREATE的处理,其对应的响应函数为OnCreate.
选中CClockCtrl-击右键-属性-点击 消息 图标-找到WM_CREATE,将WM_CREATE添加到
CClockCtrl中,会自动创建一个OnCreate函数,在函数中添加定时器代码.
int CClockCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1) return -1;
//在此添加您专用的创建代码
::SetTimer(this-m_hWnd,1,1000,NULL); //创建定时器,使其每秒发送一个WM_TIMER消息
return 0;
}
(3.3):为CClockCtrl添加消息WM_TIMER的处理,其对应的响应函数为OnTimer.
选中CClockCtrl-击右键-属性-点击 消息 图标-找到WM_TIMER,将WM_TIMER添加到CClockCtrl
中,会自动创建一个OnTimer函数,在函数中添加使窗口重绘的代码.
void CClockCtrl::OnTimer(UINT nIDEvent)
{
if(AmbientUserMode()) //如果运行模式,不是设计模式则执行以下语句(可以不要此句).
this-Invalidate(); //此自带函数使窗口无效,这样窗口就会重绘.
//::InvalidateRect(this-m_hWnd,CRect(0,0,100,100),true);//系统函数使窗口的某一块重绘.
COleControl::OnTimer(nIDEvent);
}
4:添加标准属性
(4.1):选中_DClock-击右键-添加-添加属性-属性名选BackColor或ForeColor,实现类型选常用-完成
(4.2):在CClockCtrl的OnDraw中添加如下代码,填充矩形颜色和设置文字颜色:
CBrush brush(TranslateColor(GetBackColor()));
//GetBackColor返回的是OLE_COLOR,TranslateColor将OLE_COLOR转换为COLORREF
pdc-FillRect(CRect(0,0,100,100), brush);//pdc-FillRect(rcBounds, brush);
pdc-SetBkMode(TRANSPARENT); //将文字背景设置为透明.
pdc-SetTextColor(TranslateColor(GetForeColor())); //设置文字颜色.
(
您可能关注的文档
- cad2007操作指南.doc
- ch35_ok.doc
- CE6.0安装方法.doc
- CHAR02 程序的灵魂.doc
- chart 控件.doc
- CAM3.3.doc
- Code Review 理论与实战.doc
- CM设置图文教程.doc
- CORE DRAW.doc
- cool录音软件使用.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)