📄 03.2 基于mfc的程序框架剖析.txt
字号:
3.2 基于MFC的程序框架剖析
MFC库是开发Windows应用程序的C++接口。MFC提供了面向对象的框架,程序开发人员可以基于这一框架开发Windows应用程序。MFC采用面向对象设计,将大部分的Windows API封装到C++类中,以类成员函数的形式提供给程序开发人员调用。
下面我们看一下MFC AppWizard帮助我们生成的这些代码。单击左边工作区窗格中的ClassView(类视图)标签页,可以看到如图3.10所示的五个类。
图3.10 ClassView标签页
提示:如果要查看某个类提供的信息,可以在ClassView标签页上单击该类前面的“+”符号,即可展开该类,显示该类拥有的函数和属性。
在MFC中,类的命名都以字母“C”开头,就像Delphi中类名以T开头,Oracle的类名以O开头一样,当然,这并不是必需的,这只是一种约定。对于一个单文档应用程序(即我们在创建工程时第二步所选的Single document),都有一个CMainFrame类,和一个以“C+工程名+App”为名字的类、一个以“C+工程名+Doc”为名字的类、一个以“C+工程名+View”为名字的类。作为读者,在刚接触MFC的程序时,一定要逐步熟悉MFC AppWizard所生成的这几个类,以及类中的代码。这样才能在阅读程序时,知道哪些类、哪些代码是向导生成的,哪些类、哪些代码是我们自己编写的。
在ClassView标签页中的类名上双击,右边工作区窗格就会打开定义该类的头文件。我们可以发现ClassView标签页中的这五个类都有一个基类,例如,CTestView派生于CView;CMainFrame派生于CFrameWnd……这些基类都是MFC中的类,可以查看一下这些基类的帮助信息。
提示:如果想查看某个类或函数的帮助,可以把当前光标放在该类或函数所在位置,然后按F1键,即可打开MSDN中相应帮助。在MSDN帮助页中每个类的说明页底部都有一个“Hierarchy Chart”超链接,单击此链接,即可看到整个MFC类的组织结构图。
图3.11是MFC类组织结构图中的一部分,可以发现CFrameWnd是由CWnd派生的。另外,也可以发现从CWnd派生的还有CView类。这就说明这个程序中的CMainFrame类和CTestView类追本溯源有一个共同的基类:CWnd类。CWnd类是MFC中一个非常重要的类,它封装了与窗口相关的操作。
图3.11 部分MFC类组织结构图
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -