使用MFC开发ActiveX控件3

本文介绍了如何使用MFC在ActiveX控件中添加属性、方法和事件。通过MFC ClassWizard对话框,可以添加库存和自定义属性、方法。以MessageLen方法和BackColor、Caption、ForeColor属性为例,详细阐述了属性和方法的实现过程,包括Get/Set方式的属性和成员变量方式的属性。此外,还讨论了如何在控件类中实现属性更改的视觉反馈以及如何在ActiveX Control Test Container中测试这些功能。
摘要由CSDN通过智能技术生成
  属性、方法以及事件的添加


图5 属性的添加


图6 方法的添加

  对ActiveX控件属性、方法和事件的添加均有库存和自定义两种。其中对属性和方法的添加在MFC ClassWizard对话框的Automation页中通过按钮"Add Property…"和"Add Method…"弹出如图5和图6所示的添加属性和添加方法的对话框来完成。对于库存属性和方法,可以直接从External name组合框的下拉列表中选取,Implementation项将自动设置为Stock。对于自定义属性和方法的添加与在自动化对象中为接口添加属性和方法的过程一样,ClassWizard将在.odl文件和控件类生成相应的代码,下面给出的是在控件类中实现的部分分发映射代码:

……
// Dispatch maps
//{ {AFX_DISPATCH(CSample68Ctrl)
CString m_message;
afx_msg void OnMessageChanged();
afx_msg short GetXPos();
afx_msg void SetXPos(short nNewValue);
afx_msg short GetYPos();
afx_msg void SetYPos(short nNewValue);
afx_msg short MessageLen();
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
// Dispatch and event IDs
public:
enum {
//{ {AFX_DISP_ID(CSample68Ctrl)
dispidMessage = 1L,
dispidXPos = 2L,
dispidYPos = 3L,
dispidMessageLen = 4L,
//}}AFX_DISP_ID
};
……
BEGIN_DISPATCH_MAP(CSample68Ctrl, COleControl)
//{ {AFX_DISPATCH_MAP(CSample68Ctrl)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值