搜索

如何简述应用程序的方法和步骤?

发布网友 发布时间:2022-04-22 17:17

我来回答

1个回答

热心网友 时间:2023-06-24 21:29

们在编写程序或是在看MFC类的书籍的时候,总会看到书上让我们
在某个地方
添加某某函数,响应什么消息。那么,
到底为什么
要在
这地方
加呢?为什么不能在其他地方添加消息响应函数呢?
接下来,我们就共同来讨论一下吧。
1.MFC的运行步骤:(这是对于文档视图结构的应用程序的)theApp(theApp())->//应用程序全局对象的构造和内存分配WinMain()->//进入
主函数
AfxWinMain()->//调用APIInitAplacation()(应用程序的内部管理)->//用于应用程序的内部管理的初始化
Initinstance
()(theApp)->//初始化应用程序对象应用程序的Initinstance()->//应用程序的初始化(创建和注册
窗口类
、显示和更新应用程序框架)注册窗口类->AfxEndDeferRegisterClass
()(该函数根据不同的应用程序注册不同的窗口类)->AfxRegisterClass()->CMainFrame::PreCreateWindow()->
CFrameWnd
::PreCreateWindow()->AfxDeferRegisterClass()(如果没有注册,就注册窗口类;它实际上是AfxEndRegisterClass()的宏)(一般都是在这里注册窗口类,由于文档窗口涉及到文档视图类的管理)->
LoadFrame
()->//载入框架CFrameWnd::Create()->/CWnd::CreateEx()->//创建应用程序窗口CMainFrame::PreCreateWindow()(实际上该函数是一个
虚函数
,也就是说如果子类为应用程序定义了该函数,那么它将调用子类的函数,因此,我们可以重载该函数来
修改应用程序
框架的外观)->//在框架窗口显示之前调用
ShowWindow
()->
UpdateWindow
()->//显示和更新
消息循环
:->
CwinThread
::Run()->do-while()循环(->
PumpMessage
()->
GetMessage
()->TranslateMessage()->
DispatchMessage
())
简单的说
就是初始化全局对象进入主函数再进行窗口类的创建和注册并显示,然后进入消息循环。
theApp:
全局变量
或是
类对象
在程序运行前初始化。即分配内存空间,初始成员。(每一个
MFC应用程序
都只有一个全局对象theApp对象,我们用该全局对象唯一的表示该应用程序。)
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top