zoukankan      html  css  js  c++  java
  • MFC学习之程序执行过程梳理

    *首先利用全局变量对象theApp启动应用程序。这是由于这个全局对象,基类CWinApp中this的指针才干指向这个对象。假设没有这个全局对象,程序在编译时不会出错,但在执行时就会出错.

    *调用全局应用程序对象的构造函数,从而就会先调用其基类CWinApp的构造函数。后者完毕应用程序的一些初始化工作,并将应用程序对象的指针保存起来。

    *进入WinMain函数。在AfxWinMain函数中能够获取子类(对Test程序来说就是CTestApp类)的指针,利用此指针调用虚函数:InitInstance,依据多态性原理,实际上调用的是子类(CTestApp)的InitInstance函数。后者完毕应用程序的一些初始化工作,包含窗体类的注冊,创建,窗体的显示和更新。期间会多次调用CreateEX函数,由于一个单文档MFC应用程序有多个窗体,包含框架窗体.工具条.状态条等。

    *进入消息循环,尽管也设置了默认的窗体过程函数,可是,MFC应用程序实际上是採用消息映射机制来处理各种消息。当收到WM_QUIT消息时,退出消息循环,程序结束。


    4类画线画图:

    1.SDK全局函数实现画线功能.

    2.CDC类实现画线功能.

    3.CClientDC实现画线功能

    4.CWindowDC实现画线功能.


    GetParent()获取基类指针 视窗体的父窗体就是框架窗体.


    利用SelectObject函数能够实现把GDI对象选入设备表,它才会在以后的绘制操作中生效。而且该函数会返回指向先前被选对象的指针。这主要是为了再完毕当前绘制操作后,还原设备描写叙述表用的。


    静态成员函数:静态成员函数和静态成员变量属于类本身,在载入的时候,即为它们分配了空间,全部能够通过类名::函数名或类名:变量名来訪问。而非静态成员函数和非静态成员属于对于的方法和数据,也就是应该首先产生类的对象,然后通过类的对象去引用.

  • 相关阅读:
    服务注册与发现
    回溯算法
    SpringCloud之远程调用OpenFeign和Ribbon
    SpringCloud之Ribbon负载均衡策略
    Java(Springboot)获取客户端IP地址工具类
    Linux磁盘分区、挂载、查看文件大小
    Dubbo高级进阶Spi应用
    Dubbo监控平台DubboAdmin安装监控
    Dubbo高级进阶Spi应用以及与JDK的Spi区别
    python--装饰器的常见使用
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3859830.html
Copyright © 2011-2022 走看看