,VC   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,VC
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VC > 正文
使用MFC开发ActiveX控件
[文章信息]
作者:中国电波传播研究所青岛分所 郎锐
时间:2004-03-09
出处:yesky
责任编辑:方舟
[文章导读]
本文讲述了用户自定义和库存属性、方法以及事件的添加方法和属性页的制作过程
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

上一页  1 2 3 4 5  下一页

  实现属性表

  属性表是ActiveX控件所特有的一种技术,可以在包容器程序处于设计阶段时为其提供一个可视化的人机交互界面,并可以通过其对控件的自定义属性和库存属性进行设置。在用向导生成程序框架的同时即已经生成了一个空的用于管理自定义属性的属性页。在代码上通过控件类实现文件中的属性页ID表对其进行维护:

BEGIN_PROPPAGEIDS(CSample68Ctrl, 1)
PROPPAGEID(CSample68PropPage::guid)
END_PROPPAGEIDS(CSample68Ctrl)

  这里的CSample68PropPage类是从COlePropertyPage派生出来的,而COlePropertyPage的基类又是CDialog,因此不难发现CSample68PropPage与通常的对话框类是比较相似的。可以象处理对话框一样在资源视图中为缺省的属性页添加与自定义属性相关的交互用控件,并通过ClassWizard将这些控件与类成员变量建立绑定关系。但是有一点不同,就是在绑定成员变量时还要与控件中的相应属性建立起对应关系。如图12所示,在Optional property name组合框中输入自定义属性名或是直接从下拉列表选择库存属性名,ClassWizard向导将在属性页类的DoDataExchange()函数中添加控件、变量和属性的绑定代码:

void CSample68PropPage::DoDataExchange(CDataExchange* pDX)
{
 //{{AFX_DATA_MAP(CSample68PropPage)
 DDP_Text(pDX, IDC_MESSAGE, m_sMessage, _T("Message") );
 DDX_Text(pDX, IDC_MESSAGE, m_sMessage);
 DDP_Text(pDX, IDC_TITLE, m_sCaption, _T("Caption") );
 DDX_Text(pDX, IDC_TITLE, m_sCaption);
 DDP_Text(pDX, IDC_XPOS, m_nXPos, _T("XPos") );
 DDX_Text(pDX, IDC_XPOS, m_nXPos);
 DDP_Text(pDX, IDC_YPOS, m_nYPos, _T("YPos") );
 DDX_Text(pDX, IDC_YPOS, m_nYPos);
//}}AFX_DATA_MAP
DDP_PostProcessing(pDX);
}


图12 成员变量、控件与属性的绑定

  这里只是在向导生成的缺省属性页中实现了自定义属性的可视化设置。虽然也可以用相同的方法为库存属性进行设置,但是更多的还是采用添加库存属性页ID的方法来直接使用库存属性页来对其进行维护。例如,对于库存属性BackColor和ForeColor,可以通过ID号为CLSID_CcolorPropPage的库存属性页来进行设置,在将其添加到属性页ID表的同时一定要注意修改BEGIN_PROPPAGEIDS()宏的属性页计数,否则将会引起系统的崩溃:

BEGIN_PROPPAGEIDS(CSample68Ctrl, 2)
PROPPAGEID(CSample68PropPage::guid)
PROPPAGEID(CLSID_CColorPropPage)
END_PROPPAGEIDS(CSample68Ctrl)

  继续在ActiveX Control Test Container中测试控件,将其插入后选择"Edit"菜单的"Properties…"菜单项,将弹出入图13所示的属性表。该属性表共有三个属性页,其中第一个属性页为刚才编辑的自定义属性页,第二个属性页(如图14所示)即为CLSID_CcolorPropPage所指定的颜色属性页(为库存属性页),最后一个属性页则是向导自动添加的扩展属性页。在属性表中设置了相应的属性后,点击"应用"按钮即可让控件使用新的属性。这与在"Invoke Methods"对话框中所完成的功能一样,但显然要方便的多。而且在包容器程序的设计阶段,也是通过该属性表来完成控件与客户的属性设置交互的。


图13 控件的属性表


图14 颜色属性页


上一页  1 2 3 4 5  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
,VC相关内容,VC焦点新闻
  • Windows下的高级动画技术浅析
  • 应用软件联机帮助文件的制作
  • 用Visual C++实现远程线程嵌入技术
  • Visual C++线程同步技术剖析
  • 用VC编制DLL程序的方法小结
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,VCAdvertisement