`
逆风的香1314
  • 浏览: 1417032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《深入浅出MFC》学习笔记之一

阅读更多
    龚建伟评:这篇学习笔记虽然不是系统的阐述某个问题,但读来让人感到收获不小,无论你是老鸟还是菜鸟,都会认同的。我希望XGM能够继续写下去,看了《深入浅出MFC》再来看这些笔记,也有温故知新之感

俟杰先生的《深入浅出MFC》是一本好书,本人是作为有一定C++基础知识并对VC有一点感性认识的VC初学者来接触这本书的。应该说这本书并不真正适合像我这样的初学者,但通读完该书,还是有一些收获的,现只整理其中的一部分,作为我的一个学习笔记吧。

1.  安装VC++,为什么要先安装Internet Explorer?(是不是很多老鸟也不知道啊,侯俊杰先生的宗旨就是知其然,还要知其所以然,5555555555 …………

因为微软的所有Visual Tools(包括Visual C++Visual BasicVisual FoxProVisual J++Visual InterDev)都集中由所谓的Visual Studio 管理,而这些工具有一个极大的目标,就是要协助开发Internet应用软件,所以它们希望能够和IE有所搭配。

2.  SDKSoftware Development Kit 原指软件开发工具,但现在已经变成了一个专有名词,凡以Windows raw API撰写的程序通常也称为SDK程序。也有人把Windows API称为SDK API

3.  不同种类之对象的构造函数(对象诞生后第一个执行并且是自动执行的函数)及析构函数(对象行将毁灭,但未毁灭之前一刻,最后执行并且自动执行的函数)执行时机对比如下:

 <o:p> </o:p>

全局对象

局部对象

静态对象

new产生的对象

构造函数

程序一开始就执行(比程序进入点更早)

对象诞生时执行

析构函数

程序即将结束时执行

程序流程离开该对象的存活范围时执行

程序将结束时执行,但比全局对象的析构函数早一步进行。

对象被delete时执行

4.  C++并不是纯种的面向对象语言(SmallTalk Java才是)。所以,MFC之中得以存在有不属于任何类的全局函数,它们统统在函数名称开头冠以Afxx并没有什么意思,只是为了凑成一个响亮的名字,AfApplication Framework
下面是常见的Afx全局函数:
AfxBeginThread
:开始一个新的线程
AfxEndThread
:结束一个旧的线程
AfxFormatString1
:类似printf一般地将字符串格式化
AfxFormatString2
:类似printf一般地将字符串格式化
AfxMessageBox
:类似Windows API 函数 MessageBox
AfxOuputDebugString
:将字符串输往除错装置
AfxGetApp
:获得application object (CwinApp派生对象)的指针
AfxGetMainWnd
:获得程序主窗口的指针
AfxGetInstance
:获得程序的instance handle

5.  MFC数据类型
下面这些是和Win32程序共同使用的数据类型
BOOL
:布尔值,取值为TRUE  or  FALSE
BSTR
32-bit 字符指针
BYTE
8-bit整数,未带正负号
COLORREF
32-bit数值,代表一个颜色值
DWORD
32-bit整数,未带正负号
LONG
32-bit整数,带正负号
LPARAM
32-bit整数,作为窗口函数或callback函数的一个参数
LPCSTR
32-bit指针,指向一个常数字符串
LPSTR
32-bit指针,指向一个字符串
LPCTSTR
32-bit指针,指向一个常数字符串,此字符串可以移植到UnicodeDBCS
LPTSTR
32-bit指针,指向一个字符串,此字符串可以移植到UnicodeDBCS
LPVOID
32-bit指针,指向一个未指定类型的数据
LPRESULT
32-bit数值,作为窗口函数或callback函数的返回值
UINT
:在Win16中是一个16-bit 未带正负号整数,在Win32中是一个32-bit 未带   正负号整数,
WNDPROC
32-bit指针,指向一个窗口函数
WORD
16-bit 整数 ,未带正负号
WPARAM
:窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win32中是32-bit

下面这些是MFC独特的数据类型
POSITION
:一个数值,代表collection对象(例如数组或链表)中的元素位置,常 用于MFC collection classes(即数据处理类,如CArray
LPCRECT
32-bit指针,指向一个不变的RECT结构

6.  奇怪的窗口类名称Afx:b:14ae:6:3e8f
   
Spy++VC++所附的一个工具)观察窗口类的名称时,会发现窗口类名称变成像Afx:b:14ae:6:3e8f这副奇怪的模样?

原来是Application Framework 把窗口类的名称转换为Afx: x y z w的类型,成为独一无二的窗口类型名称:

x:窗口风格的hex

y:窗口鼠标光标的hex

z:窗口后台颜色的hex

w:窗口图标的hex

7.  Serializable   的必要条件

让一个对象有Serializable能力,它必须派生自一个Serializable类,一个类要成为Serializable,必须有下列五大条件:

(1)Cobject派生下来,如此一来,可保有RTTI、动态生成等机能

(2)类的声明部分必须有DECLARE_SERIAL宏,此宏需要一个参数:类名称

(3)类的实作部分必须有IMPLEMENT_SERIAL宏,此宏需要三个参数:一是类名称,二是基类名称,三是 schema no.

(4)改写Serialize虚拟函数,使它能够适当地把类的成员变量写入档案中

(5)为此类加上一个default构造函数(也就是无参数之构造函数),这个条件常为人所忽略,但它是必要的,因为若一个对象来自档案,MFC必须先动态生成它,而且在没有任何参数的情况下调用其构造函数,然后才从档案中读出对象数据。

 <o:p> </o:p>

唉,好东东实在太多了,比如对MFC六大关键技术之仿真,三大宏的内部揭密等等(咦,我不是在推销这本书吧,呵呵)感兴趣的话请看看这本书吧,可以找我借哦,所谓“书非借不能读也”。呵呵………

 
分享到:
评论

相关推荐

    深入浅出MFC学习笔记

    ### 深入浅出MFC学习笔记:关键知识点解析 #### 一、Windows消息机制与回调函数 在深入探讨MFC之前,我们先来理解Windows操作系统中的消息机制及其核心组成部分——回调函数。 ##### 1.1 Windows消息机制概述 ...

    深入浅出MFC读书笔记2

    深入浅出MFC读书笔记2是对MFC框架的进一步学习和理解,主要涵盖了MFC的基础概念、类库结构以及程序构建的关键要素。MFC(Microsoft Foundation Classes)是微软为Windows平台开发的应用程序提供的一种类库,它基于...

    《深入浅出MFC》读书心得

    "《深入浅出MFC》读书心得" 《深入浅出MFC》读书心得是 Windows...《深入浅出MFC》读书心得涵盖了 Windows 程序设计的方方面面,包括程序结构、头文件、makefile、消息循环等知识点,为开发者提供了系统性的学习指南。

    MFC 深入浅出 + 学习笔记

    总的来说,"深入浅出MFC"的学习资源可以帮助开发者从基础到高级全面了解MFC,通过实例和笔记加深理解,从而更高效地开发Windows应用程序。无论是初学者还是有一定经验的程序员,都能从中受益,提升自己的MFC编程能力...

    《深入浅出MFC》学习笔记

    ### 《深入浅出MFC》学习笔记关键知识点解析 #### 一、Win32基本程序概念 在探讨MFC之前,我们先了解Win32应用程序的基础知识,这对于理解MFC至关重要。 **Windows是一个“以消息为基础的事件驱动系统”** - **...

    深入浅出MFC随书光盘内容

    《深入浅出MFC》是面向C++程序员的一本经典著作,主要讲解了Microsoft Foundation Classes (MFC) 库的使用,它是一个由微软提供的C++类库,用于简化Windows应用程序开发。MFC将Windows API封装成易于使用的C++类,...

    深入浅出MFC随书完整光盘

    深入浅出MFC随书完整光盘是一份包含丰富的MFC(Microsoft Foundation Classes)学习资源的集合,由著名计算机科学家侯捷所著书籍的配套资料。MFC是微软开发的一个C++类库,用于构建Windows应用程序,它为开发者提供...

    深入浅出MFC笔记 配合原书的好笔记 doc

    MFC(Microsoft ...总的来说,深入浅出MFC笔记是学习和理解MFC框架及其在Windows应用开发中的作用的重要参考资料,它涵盖了从应用创建到对象模型,再到图形对象的使用等多个方面,帮助开发者快速上手MFC编程。

    MFC学习代码及笔记

    本资源包含深入浅出的MFC源代码和笔记,是学习和理解MFC框架的理想资料。 一、MFC基础 MFC由一系列的类组成,这些类代表了Windows编程中的关键概念,如窗口、对话框、菜单、控件等。其中,CWinApp是应用的核心,...

    <<MFC深入浅出>>(中文简体)

    "读书拉.htm"可能是书中的一些笔记或阅读指南,"深入浅出 MFC_华中理 工_简体版.pdf"是主要的教材内容,"dushula.txt"可能是读者在阅读过程中的个人感悟或摘录,这些资源结合起来,将构成一个全面的MFC学习资料库。...

    MFC深入浅出 页面经剪裁,大小适中

    《MFC深入浅出》是一本针对Microsoft Foundation Classes (MFC)框架的经典著作,由作者深入剖析MFC的核心概念和技术细节,为读者提供了全面且系统的MFC学习资料。该书不仅适合初学者入门,也是高级开发人员不可或缺...

    深入浅出MFC第二版

    台湾的繁体版本,包含学习笔记,pdf格式

    MFC相关(三)MFC相关(三)

    《深入浅出MFC》的学习笔记提供了关于MFC框架的宝贵知识,让我们深入了解这个Microsoft的基础组件。MFC,即Microsoft Foundation Classes,是一个C++库,它封装了Windows API,简化了Windows应用程序的开发。 首先...

    『VC++技术内幕』学习笔记.rar_VC 学习_VC技术内幕_Vc_chm_vc++

    总之,《VC++技术内幕》的学习笔记是一部深入浅出的教程,对于任何想要精通VC++开发的程序员来说,都是宝贵的参考资料。通过系统学习和实践,读者将能够熟练掌握Windows环境下C++编程的各项技能。

    VC学习资料

    《深入浅出MFC》的学习笔记中,作者探讨了MFC(Microsoft Foundation Classes)框架的基础概念,特别是关于CWinApp和CFrameWnd类的角色。MFC是微软开发的一个C++库,用于简化Windows应用程序的开发,它将Windows API...

    高质量c++-c编程指南

    《深入浅出MFC》简体版则是对MFC的深入解析,适合有一定C++和Windows编程基础的开发者。它不仅讲解了MFC的基本用法,还可能涉及MFC的高级特性和技术,如ActiveX控件、网络编程、数据库访问等。通过阅读本书,开发者...

    C语言资料

    "mfc深入浅出.chm" 进一步深入探讨了MFC,适合已经有一定基础的学习者,它可能包含了更多复杂的MFC类和设计模式的解释,以及实际应用示例。 "c语言教室.chm" 和 "c语言编程宝典之一.chm" 则是C语言的基础教程,涵盖...

    vc笔记,孙新视频作的一些笔记

    孙新的视频教程是许多初学者学习VC++的宝贵资源,他的教学风格深入浅出,适合新手入门。通过观看他的视频并记录笔记,可以系统地了解VC++的基本概念和编程技巧。 1. **IDE介绍** Visual Studio是Microsoft提供的...

Global site tag (gtag.js) - Google Analytics