MFC概览

    xiaoxiao2021-03-25  117

    1.一个win32程序需要完成以下基本步骤:

    1.注册窗口类

    2.创建窗口

    3.消息获取与分派

    4.处理消息

    消息的获取是在一个循环中,可以使用GetMessage()PeekMessage()来获取消息(两者的区别是,空闲时间的处理)

    2.当使用vs2013编译器默认生成一个MFC程序时,可以获得一个窗口,但是此时,窗口区域不可编辑,当把CxxView类的父类修改为CEditView是窗口可编辑。

    MFC程序的编写过程是对原始MFC类的继承并修改虚函数的过程。

    MFC类的继承关系(多文档)如下:

    Document/View

    MFC之中,可以把Document简单想做是“数据”,MFCCDocument简单地说就是负责处理数据的类。

    Document/View的价值在于,这些MFC类已经把一个应用程序所需的“数据处理与显示”的函数空壳都设计好了,这些函数都是虚函数,需要在派生类中改写它们,有关读写文件的操作在CDocumentSerialize函数中进行,有关画面显示的操作在CViewOnDrawOnPaint函数中进行。

    View本身虽然已经是一个窗口,其外围却必须再封装一个外框窗口作为舞台。这样的切割其实是为了让View可以非常独立地放置于“MDI Document Frame窗口”或其他应用窗口之中,也可以说,Document Frame窗口是View窗口的一个容器。数据的内容、数据的表象、以及容纳数据表象之外框窗口三者是一体的,换言之,程序每打开一份文件(数据),就应该产生三份对象:

    1.一份Document对象

    2.一份View对象

    3.一份CMDIChildWnd对象(作为外框窗口)

    这三份对象由一个所谓的Document Template对象来管理。让这三份对象产生关系的关键在于CMultiDocTempalte:

    类别型录网和CRuntimeClassRTTI通过三个宏来完成(每个宏代表一些指定语句)。

    在创建MFC界面时,选择合适的基类可以生成不同的初始界面。

     

    转载请注明原文地址: https://ju.6miu.com/read-8746.html

    最新回复(0)