荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: EDE (Thinker醒客), 信区: SoftDev
标  题: [转]VC++技术内幕(第四版)笔记(第3章)     选择自 hbyufan
发信站: 荔园晨风BBS站 (Wed Mar  8 09:10:33 2006), 站内


 /********************************************/
第三章:从“Hello,world!”着手学习AppWizard


1,视图:从用户角度看,视图是一个普通的窗口;从程序员角度看,试图是一个从MFC库中
CView类所派生的类的对象。视图对象的行为完全由类的成员函数和数据成员决定,其中包
括派生类的特定成员和基类的继承而来的成员。

2,CEx03aView类最重要的基类是CWnd和CView。CWnd提供CEx03aView的窗口属性,而CView
提供它和应用程序框架其它部分之间的联系,特别是和文档及框架窗口之间的联系。

3,视图类中OnDraw成员函数:OnDraw成员函数被设计成一个虚成员函数,每次当视窗需要
被重绘时候,应用程序都要调用OnDraw函数。
当用户改变了窗口尺寸,或当前窗口恢复了先前被遮盖的部分,或当前应用程序改变了窗口
的数据的时候,窗口都需要被重绘。
当用户改变了窗口尺寸,或窗口需要恢复被遮盖的部分,则应用程序自动去调用OnDraw函数

但注意,如果程序中某个函数修改了窗口数据,则它必须通过调用视图所继承的
Invalidate(InbalidateRect)成员函数来通知Windows,调用Invalidate后会触发对OnDraw
函数的调用。

4,WINDOW中不允许直接访问显示硬件,必须通过和窗口相关联的“设备环境”跟显示硬件
通讯。MFC中设备环境由CDC类对象来表示。

5,利用Win32 Debug模式 和 Win32 Release模式开发应用程序。
(默认情况不出现BUILD工具栏,可从TOOLS菜单选择Customize项,设置显示Build工具栏,
VC6中也可在工具栏上直接点击右键选择Build工具栏)

  Win32 Release模式 Win32 Debug模式
源码调试 不能   编译器连接器都允许
MFC诊断宏 不能(定义了NDEBUG) 可以(定义了_DEBUG)
库连接  MFC Release库  MFC Debug库
编译优化 速度优化(学习版不能) 没有优化(快速编译)

我们应在Win32 Debug模式下开发应用程序,然后在发布或交付前用Win32 Release模式重建
应用程序。in32 Release模式下建立的EXE文件又小又快。

6,诊断宏TRACE宏对监测程序状态特别有用。这些宏要求在允许追踪的情况下才有效,允许
追踪是默认设置。
(问题:TRACE宏的应用事例与运行原理。宏TRACE的输出在在哪显示呢?在output输出框下
选择Debug项,调试运行程序即可看到TRACE宏输出。)

7,预编译头文件代表了编译器在源代码特定行上进行‘快照’。在MFC库程序中,快照常紧
接在#include "stdafx.h"后进行。
文件StdAfx.h包含了MFC库头文件的#include语句。该文件的内容取决于运行AppWizard时候
所做的选择。
文件StdAfx.cpp只包含#include "stdafx.h"语句。StdAfx.cpp文件用来在相应项目的目录
下产生预编译头文件(PCH文件)。编译开关/Yc只用于StdAfx.cpp文件,导致产生预编译头
文件(PCH),而其它源文件的/Yu编译开关使可以使用一个存在的PCH文件。开关/Fp用来指
定专门的PCH文件名,默认情况下为相应目标输出文件目录下与项目同名扩展名为PCH的文件

(VC6下具体设置参见:[Project Settings属性框] [c/c++]属性页[Project
Options]、[Source File Options]项)
(注意:在VC6 [Project Settings属性框]中查看StdAfx.cpp文件[Source File
Options]项时候,可以看到[Project Settings, and /Yc"stdafx.h"],这里说明一下,
StdAfx.cpp文件的[ /Yc"stdafx.h" ]的设置覆盖了[Project Options]设置中的
[/Yu"stdafx.h"])




--
            │
╭─-╮╭─-┤╭─-╮ 我不存在,存在的只有我的思想
│★ ││╭ ││★ │ 我要做一棵强壮的树,足以保护我爱的你April
├─-┘│╰ │├─-┘
╰─-╯╰─-┴╰─-╯


※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.111.118]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店