北方站长站
客服热线:0632-5117766

关于MFC内部结构实用的一点看法

[2007-11-13 00:00:00] 作者:Northz.com 来源:北方站长站

Tags:一点 看法 实用 结构 内部 关于 // if fToRegister fRegisteredClasses

  

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

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

1 2 下一页

下一篇链接:VC++与MATLAB混合编程及其应用

上一篇链接:转:从VC++到GCC移植:谈两者语法差异

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面