Ex23c示例程序:一个带用户界面的SDI自动化组建EXE

  书上只包含了实例代码的部分片段,因此在自己动手操作的时候碰到了不少问题。当然,借助了Src比较工具和MSDN,对整个Src实例有了进一步的理解。

  IDispatch接口确实比较有意思,它可以把组件对象中的方法和属性暴露给客户。见下图

 

 

  在BEGIN_DISPATCH_MAP与END_DISPATCH_MAP之间的DISP_XXXX宏则负责定义客户可以使用的方法或属性。

  其中双引号中的字符串就是客户可以使用的属性名或方法名。dispidXXX是常量ID值(内部调用属性或方法的时候,用的是ID值,而不是属性或方法的字符串名称,你只要定义了这些宏,MFC会自动帮你处理,不用你去操心)。

  组件通过IDispatch接口,将属性或方法暴露给客户后,需要在内部实现这些属性或方法。在dispidXXX后面的几个参数,就是组件内部的成员对象、成员函数、函数的参数类型、返回值类型等信息。有了这些信息,组件就知道用自己内部哪些成员对象、成员函数来负责处理暴露给客户的属性或方法了。

  接下去,对于这些成员对象、成员函数来说。只需要我们通常的类的编写方式来实现就可以了。

  

  以上是我对IDispatch的理解,如有不正,欢迎指摘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值