mfc应用程序由哪4个主要类构成,各起什么作用

mfc应用程序由哪4个主要类构成,各起什么作用,第1张

1、 文件名App.h (cpp)应用程序类

CMyApp的基类是CWinApp,而CWinApp的基类又是CWinThread,CWinThread类是用来完成对线程(见后面的名词解释)的控制,包括对线程的创建、运行、终止和挂起等。它实际上是Windows首先运行的内容,当这个程序开始时,它将会把主窗口放在屏幕上。C或C++是从main()主函数开始执行,而VC++是从WinMain()函数开始执行,且WinMain()函数就是隐含在此应用程序中

2、 CMainFrm.h (cpp)主框架类

CMainFrm的基类是CFrameWnd,该类是显示主窗口,是我们找到菜单栏、窗口的标题栏以及工具栏的地方,主窗口对象负责窗口中出现的、围绕 *** 作领域的一切,如:图画、文本和其它图形,这个区域称为窗口中的客户区。它用于管理应用程序窗口显示如:标题栏、菜单栏、工具栏、状态栏、控制菜单、控制按钮等,它是所有MDI(多文档)和SDI(单文档)子窗口的包容器。

3、 文件名View.h (cpp)视图类

CMyView的基类是CView,处理客户区,是我们在程序中设置数据格式及显示数据的位置,如我们在创建一个字处理程序时正在编辑的文本,事实上,视图对象是出现在客户区顶部的窗口本身,用于让用户通过窗口来访问文档、视图类。

4、 CMyDoc.h (cpp)文档类

CMyDoc.h (cpp)的基类是CDocument,为程序存储数据,将所有数据存在文档中,而在视图对象中处理并显示。它包含了应用程序在运行期间所用到的数据文档。

MFC把程序的主函数main封装起来了,我们看不到,但是有办法添加程序初始化的代码。假设你的项目名为Test,MFC会创建一个Test.cpp文件,里面有主程序类CTestApp,里面有一个InitInstance成员函数,程序的主函数会调用这个函数进行一部分可修改的初始化工作并创建对话框窗口,可在这个函数中添加一些初始化工作。

对话框时通过DoModal函数创建的,而对话框创建时将调用一系列关键的对话框类成员函数,与对话框相关的初始化工作可在合适的函数中添加,这个顺序如下:

1.DoModal()

重载函数,重载DoModal()成员函数

2.PreSubclassWindow()

重载函数,允许首先子分类一个窗口

3.OnCreate()

消息响应函数,响应WM_CREATE消息,发送此消息以告诉一个窗口已经被创建

4.OnSize()

消息响应函数,响应WM_SIZE消息,发送此消息以告诉窗口大小发生变化

5.OnMove()

消息响应函数,响应WM_MOVE消息,发送此消息,以告诉窗口正在移动

6.OnSetFont()

消息响应函数,响应WM_SETFONT消息,发送此消息,以允许改变对话框中控件的字体

7.OnInitDialog()

消息响应函数,响应WM_INITDIALOG消息,发送此消息以允许初始化对话框中的控件,或者是创建新控件

8.OnShowWindow()

消息响应函数,响应WM_SHOWWINDOW消息,该函数被ShowWindow()函数调用

9.OnCtlColor()

消息响应函数,响应WM_CTLCOLOR消息,被父窗口发送已改变对话框或对话框上面控件的颜色

10.

OnChildNotify()

重载函数,作为WM_CTLCOLOR消息的结果发送

VC++到VS中以后:

从main函数开始,没有main从wmain开始wmain是main的扩展(支持Unicode字符,比如你要给你的程序传参为Unicode字符的话)

不同的是很多编程时都把main或wmain给隐藏了,留下的是另一些主函数,但这些假的主函数名要么是#define 为main或wmain

窗口程序de主函数是WinMain或wWinMain(),同样也常被隐藏掉

MFC编程中 主函数是AfxWinMain() 而AfxWinMain()也是由WinMain()函数调用的,并且WinMain()所有的功能就是调用了AfxWinMain()


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8083671.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存