VC6下创建一个简单的ActiveX控件

在软件开发过程中,你可能要向你的开发团队,提供某些编程接口。这里可能有几种的选择方式。COM DLL 或者直接用源代码类来提供。还有一种非常方便的方法就是通过ActiveX 控件来提供。它也是语言无关,可以在Delphi VB VC 下使用。
本文就来讲述如何利用VC6.0 来创建一个ActiveX 组件,这其中主要实现了如下的功能:
添加属性、添加方法,添加事件和提供属性编辑窗口这四大功能。
下面我们就以实例来说明。
1 步,利用VC 向导,建立一个“MFC ActiveX ControlWizard” 工程,项目名可定为“TmpOcx” 。一路默认下去完成向导。
2 步,在CtmpOcxCtrl 类的“MFC ClassWizard” 里切换到“Automation” 页,添加属性和方法。如图1
(图1
点击“Add Property ”按钮,添加一个“MsgContext 属性,类型为BSTR, 如图2
(图2
点击 Add Method ”添加一个“ShowMessage ”方法,没有返回值。如图3                                                                                                                                                      
(图 3
3 步:实现属性和方法。
CtmpOcxCtrl 类里添加一个私有变量m_MsgContext
Private:
   CString m_MsgContext;
 
(2) 属性实现方法:
BSTR CTmpOcxCtrl::GetMsgContext()
{
    return m_MsgContext.AllocSysString();
}
 
void CTmpOcxCtrl::SetMsgContext(LPCTSTR lpszNewValue)
{
       if (m_MsgContext.Compare(lpszNewValue) != 0 )
       {
              m_MsgContext = lpszNewValue;
              SetModifiedFlag();
       }
}
 
(3) ShowMessage 实现方法:
void CTmpOcxCtrl::ShowMessage()
{
   AfxMessageBox(m_MsgContext);
}
 
4 步:编辑属性编辑框。
1 )在资源编辑器,编辑属性对话框如图4
(图4
2 )给输入框控件添加关联变量,也是利用MFC Classwizards 来实现,如图:
(图5
 
3      CtmpOcxCtrl 类的DoPropExchange 方法里添加如下代码,关联属性。
PX_String(pPX,"MsgContext",m_MsgContext," 欢迎使用此Acitvex ,呵呵");
 
至此,除了事件之外,别的功能都实现了。
 
5 步,添加事件。
在这里,我们添加一个当MsgContext 属性被改变时的通知事件。实现很简单,请看如下步骤:
在类CtmpOcxCtrl MFC ClassWizards 向导里的“Activex Event” 页里,添加一个事件,如图6
(图6
(2) CTmpOcxCtrl 类的SetMsgContext 方法里,触发MsgContext 值变的事件。
 
void CTmpOcxCtrl::SetMsgContext(LPCTSTR lpszNewValue)
{
       if (m_MsgContext.Compare(lpszNewValue) != 0 )
       {
              m_MsgContext = lpszNewValue;
              FireOnMsgChange();
              SetModifiedFlag();
       }
}
 
最后编译运行,将自动注册此Ocx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值