32、深入浅出MFC学习笔记,ActiveX Controls及更多学习资料

1、组件是对数据和方法的简单封装。<?xml:namespace prefix = o />

2Tip of the day.

3ActiveX control 的三个接口也有类似性质:

property:相当于C++ 类别的成员变量

method:相当于C++ 类别的成员函数

event:相当于Windows 控制组件发出的notification 消息

1)一般而言properties 可分为四种类型:

Ambient properties

Extended properties

Stock properties

Custom properties

2)一般而言events 可分为两种类型:

Stock events

Custom events

4、类别型录网:所有类别相关信息(包括类别名称及建构函式)组成的类别型录网络(一个链表),然后把类别名称的比对动作埋藏在 Serialize 虚拟函数中。

    类别型录网络中的每一个成员就是 CRuntimeClass 对象,网络的组成则是藉由类别宣告时的DECLARE_DYNCREATE IMPLEMENT_DYNCREATE 宏完成。RUNTIME_CLASS 宏就是取出「类别型录网络」中的一个元素(代表一个类别)。

    所以,当你的程序一开始执行,整个 MFC 的绝大部份类别,都已经放在这个「类别型录网络」之中。有了这网络,RTTI(执行时期型别辨识)和 Dynamic Creation 都不是问题。

5persistence,(MFC 称之为 serialization)。

注:我发现台湾人称链表为串列,函数为函式,宏为巨集,还有的把对象称为物件,dump(转储)为倾印,把进程称为行程,把程序称为程式。

6、在MFC中,所有的诊断指令或宏(包括TRACE)事实上都流经一个名为afxDump的对象之中, 那是一个 CDumpContext 对象。所有的诊断动作都进入

CDumpContext::OutputString 成员函数,然后才进入全域函数 AfxOutputDebugString,把字符串送往除错器。

7、如何使用TRACEWIN.h[4]

跟踪调试的小程序,由Paul DiLascia设计。

1)把CMfxTrace类别含入到自己的程序中,像这样:

#include "tracewin.h"

并在程序的任何地方(通常是 InitInstance 函式内)做此动作:

CMfxTrace::Init();

2)然后所有的TRACE字符串输出就会流到Tracewin视窗上。

注意,TRACEWIN.H中不但有类别宣告,还有类别定义,和一般的表头档不太一样,所以只能够在你的程序中含入一次TRACEWIN.H

    另一款调试工具是LODPRF32

参考

[1] 深入浅出MFC

[2] Visual C++ Sample Applications

http://msdn.microsoft.com/en-us/library/1370z17c%28VS.80%29.aspx

[3] Visual C++ Samples and Related Documentation for Visual Studio 2010

http://archive.msdn.microsoft.com/vcsamples

[4] MFC/.NET Trace diagnostics window by Paul DiLascia

http://dilascia.com/TraceWin.htm

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值