zoukankan      html  css  js  c++  java
  • MFC 几大关键技术 自学笔记

    1. RTTI

    运行时类型识别:在程序执行过程中能够判断a对象是否是A类,返回true或者false;

    类别型录网:用来记录类之间的关系,以链表的形式记录必要的信息,供查询;

    CRnutimeClass:用来刻画类别型录中用来记录类信息的链表,包含类名,next指针、static first指针;

    宏定义DECLARE_DYNAMIC、IMPLEMENT_DYNAMIC 将CRuntimeClass添加到类中

    2.动态创建

    将对象的大小与创建函数都放到类别型录中,根据他们就可以在运行时创建对象。

    相关的宏:DECLARE_DYNCREATE、IMPLEMENT_DYNCREATE,在DECLARE_DYNAMIC基础之上增加了对象大小和创建函数

    顺着指向基类的指针寻找

    3.Persistence机制

    涉及到Document/View结构对文件的读写:Serialize

    每一个可读可写文件的类都要重写自己的Serailize类,负责自己数据的读写任务,还应该重载<<和>>,将数据倒到archive中(它是与文件缓冲区习习相关的缓冲区)

    相关的宏:DECLARE_SERIAL、IMPLEMENT_SERIAL 将serialize放到类中

    4.

    4.1 Message Mapping

    将消息与对应的处理函数对应起来

    相关宏:DECLARE_MESSAGE_MAP(.h); (.cpp) BEGIN_MESSAGE_MAP  ON_COMMAND()  END_MESSAGE_MAP()

    构建了一个消息传递网(如何构建的??)

    4.2 Command routing(消息路由)

    -Windows消息(WM_)往基类走

    -命令WM_COMMAND就不一定

    Run()中的AfxWndProc()是消息泵,最终调用pWnd->WindowProc(),依靠虚函数来实现消息路由

  • 相关阅读:
    关于树及其各种操作
    正交矩阵与齐次矩阵
    矩阵的行列式与矩阵的逆
    线性变换
    矩阵
    向量的运算
    求两直线的交点
    微任务防抖
    二项分布
    二项式定理
  • 原文地址:https://www.cnblogs.com/lp3318/p/6071635.html
Copyright © 2011-2022 走看看