- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
容器和服务器程序
容器应用程序是可以嵌入或链接对象的应用程序。Word就是容器应用程序。
服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel就是服务器应用程序。
ActiveX控件的四种属性
Stock:为每个控件提供的标准属性,如字体或颜色。
Ambient:围绕控件的环境属性——已被置入容器的属性。这些属性不能被更改,但控件可以使用它们调整自己的属性。
Extended:这些是由容器处理的属性,一般包括大小和在屏幕上的位置。
Custom:由控件开发者添加的属性。
切换到VB的运行环境中。VB做为ACTIVEX控件测试容器;
VB中加载ACTIVEX控件:选择工程下面的组件:
选择MICROSOFT WINSOCK CONTROL 6.0
(。OCX是ACTIVEX控件的后缀名,但是ACTIVEX控件的后缀名不一定是.OCX,也可以是其它的名字,比如。DLL),选上后,点确定。
选择VIEW下的OBJECT BROWSER。在所有库的下拉列表中,选择MSWINSOCKLIB。可以看到WINSOCK控件出来了。其中,绿色控件表示方法。小手表示控件属性。闪电表,示事件。一个典型ACTIVEX控件会有这三个属性。ACTIVEX控件好处:把常用的功能封装到ACTIVEX控件中,提供给程序开发使用。
新建一个工程,选择MFC的MFC ACTIVEX CONTROLWIZARD,名字是TEST。(开发一个时钟控件)。保持缺省,完成。
平放的小勺是接口。外部的函数通过接口去访问控件的属性和方法。在接口中定义的所有函数都是纯虚函数。通过接口调用的函数是调用CTestCtrl中真正实现的函数。编译一个,会在DEBUG目录下有一个TEST.OCX,这就是控件,要用的话,把它放到要用的目录下面。不能!运行程序,因为它必须要有一个容器。选择ACTIVEX CONTROL TEST CONTAINER。
选择EDIT下面的INSERT NEW CONTROL…….出现下面的图,选择我们的TEST CONTROL。(VC编译环境中)
下面是VB环境中:
ACTIVEX要先注册,再能使用。
要想删除ACTIVEX的注册信息:
运行regsvr32 /u(/u表示反注册,然后将TEST.OCX拉到regsvr32 /u后面),弹出:
这时候就找不到TEST ACTIVEX控件了。
要想再注册,用上面同样的方法,但是/u要取消。这时弹出的消息如下 :
这时再找,就可以找到TEST.OCX了。
在VC中的TOOLS菜单下的REGISTER CONTROL也可以达到上面的效果。
控件使用之间,都要注册。
在控件上面输出当前时间。
代码如下:
void CTestCtrl::OnDraw(
CDC* pdc, const CRect rcBounds, const CRect rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
CTime t = CTime::GetCurrentTime();
CString strtime=t.Format(%H:%M:%S);
pdc-TextOut(0,0,strtime);
//系统下面自动加的这两句代码是为了填充背景和画椭圆的。
//pdc-FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
//pdc-Ellipse(rcBounds);
}
编译的时候要先将测试中的TEST控件删除。
上面这段代码的时间是静止的,不会动,下面创建一个动态的时钟。
int CTestCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
SetTimer(1,1000,NULL);
return 0;
}
void CTestCtrl::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
Invalidate();
下面这句也可以:
InvalidateControl();
二者等效。
COleControl::OnTimer(nIDEvent);
}
这时时间
您可能关注的文档
最近下载
- 2024年采制样工考试2024年采制样工试题库(判断题)试卷 .pdf
- 营销心理学(第五版)——数字时代消费者行为分析 课件 单凤儒 模块6--8 场景行为:传播与广告心理效应 ---现代场景:网络与新媒体营销心理效应 .pptx
- 内典讲座之研究.pdf
- 2024至2030年中国抬头显示器(HUD)行业市场深度研究及发展趋势预测报告.docx
- 新建南通至宁波高速铁路环境影响报告书.pdf
- 2024年GD省生态环境监测专业技术人员大比武模拟试卷及答案-3应急监测.pdf
- 第四章 刺胞动物门之二PPT课件.pptx
- 【B-1】本机构为护士实施治疗及护理时提供必要的防护措施,护士熟练掌握常见技术操作及并发症预防措施及处理流程。.docx
- 必威体育精装版《简爱》课件PPT完整版.ppt
- 管理者领导能力的提升.ppt
文档评论(0)