我重读<<深入浅出MFC>>,发现几个问题。以下页码以电子版为准。
1. part4 P536
CArchive& AFXAPI operator>>(CArchive& ar, CStroke* &pOb)
{ pOb = (CStroke*) ar.ReadObject(RUNTIME_CLASS(CStroke));
return ar; }
好,你看到了,為什麼只改寫operator>>,而沒有改寫operator<<?原因是WriteObject 並
不需要CRuntimeClass 資訊,但ReadObject 需要,因為在讀完檔案後還要做動態生成
的動作。
我改写了DECLARE_SERIAL / IMPLEMENT_SERIAL宏,去掉了operator<<,几个例子都没有问题。
似乎overload后的operator>>根本不会被调用,因为函数重载依据是静态类型,而MFC作为一个
框架根本不可能事先知道用户定义的类.
2. part3 P387
視窗類別名稱怎麼會變成像Afx:b:14ae:6:3e8f 這副奇怪模樣呢?原來是Application
Framework 玩了一些把戲,它把這些視窗類別名稱轉換為Afx:x:y:z:w 的型式,成為獨一
無二的視窗類別名稱:
x: 視窗風格(window style)的hex 值
y: 視窗滑鼠游標的hex 值
z: 視窗背景顏色的hex 值
w: 視窗圖示(icon)的hex 值
这里得到的窗口类名称应该是类似"Afx:400000:8:10011:0:ca40565"这样的,我用的VC++6.0,
而根据书上的图片也应该是这样的.所以格式为Afx:instance_handle:x:y:z:w,另外我觉得用独一无二
似乎不太合适.instance_handle都是40000,y:z:w的值也经常是相同的.所以只要窗口风格相同,则窗口
类名称就经常重复.另外很重要的一点是,转换窗口名称是为了注册完全不同的窗口类,在书中附例
Scribble 4中用Spy++可以看到,既有AfxMDIFrame42d类的窗口,也有Afx:400000:8:10011:0:ca40565类的
窗口,如果如作者所说只是玩个小把戏换下窗口类名称,那么应该告诉读者为什么这样做
以上只是我所想的,难免有不够恰当之处,欢迎大家一起讨论.
分享到:
相关推荐
通过阅读《深入浅出MFC》,读者不仅可以掌握MFC的基本用法,还能了解到如何利用MFC的高级特性解决实际问题,从而在Windows应用程序开发领域更加得心应手。这本书是程序员深入理解和精通MFC的宝贵资源,无论是初学者...
在学习《深入浅出MFC》时,你需要掌握以下几个关键知识点: 1. MFC框架基础:理解MFC的基本架构,包括消息映射、事件处理、窗口类、控件类等。 2. 文档/视图架构:深入理解文档和视图的角色,以及如何使用CDocument...
《深入浅出MFC》是一本深度解析Microsoft Foundation Classes (MFC)的书籍,MFC是微软提供的一个C++类库,它为Windows应用程序开发提供了一种强大的框架。该压缩包包含了《深入浅出MFC》第二版的配套源代码,可供...
《深入浅出MFC》是侯捷(候俊杰)老师编写的一本关于Microsoft Foundation Classes (MFC) 的经典教程。MFC 是微软为Windows应用程序开发提供的一种C++类库,它封装了Windows API,使得开发者能用面向对象的方式来...
《深入浅出MFC》是侯捷老师撰写的一本经典C++编程专著,主要针对Microsoft Foundation Classes(MFC)库进行深入解析。MFC是微软公司提供的一个C++类库,它为Windows应用程序开发提供了丰富的接口,使得开发者能够用...
在《深入浅出MFC》中,侯杰先生详细讲解了如何使用MFC进行应用程序开发,包括但不限于以下几个方面: 1. MFC的基本架构:解释了MFC的组织结构,以及如何利用这些结构来构建应用程序。 2. 创建MFC应用程序:介绍了...
《深入浅出MFC》是C++编程领域中一本经典的MFC(Microsoft Foundation Classes)教程,作者侯捷,以其深入浅出的讲解方式深受程序员喜爱。MFC是微软为Windows平台提供的一套类库,它封装了Windows API,使得开发者...
《深入浅出MFC的源代码》是一本专注于MFC(Microsoft Foundation Classes)框架的书籍,旨在帮助读者深入了解和熟练运用MFC进行Windows应用程序开发。MFC是微软为C++开发者提供的一套类库,它封装了Windows API,...
《深入浅出MFC》是一本面向C++程序员的经典教程,尤其针对Microsoft Foundation Classes (MFC) 库的深入理解。MFC是微软为Windows应用程序开发提供的一套类库,它封装了Windows API,使得开发者可以更加高效地构建...
"深入浅出MFC(代码)"这个资源,正如其名,旨在帮助用户深入理解和实践MFC编程。 MFC的核心是它将Windows API中的各种函数封装成了C++的类,例如CWinApp代表应用程序类,CWnd代表窗口类,CButton、CEdit等则对应着...
《深入浅出MFC简体第二版》是著名程序员、技术作家侯捷先生撰写的一本关于Microsoft Foundation Classes(MFC)的权威指南。MFC是由微软公司开发的一个类库,它为Windows应用程序开发提供了一种面向对象的框架,极大...
《深入浅出MFC源代码》是一本专为C++开发者设计的教程,它详细剖析了Microsoft Foundation Classes (MFC) 库的源代码,帮助读者深入理解MFC的工作原理和设计模式。MFC是微软提供的一套面向对象的类库,它基于C++构建...
《深入浅出MFC》是一本专注于Microsoft Foundation Classes (MFC) 库的权威技术书籍。MFC 是微软为Windows应用程序开发提供的一套C++类库,它将Windows API进行了封装,使得C++开发者能够更加方便地构建Windows应用...
《深入浅出MFC》是面向C++程序员的一本经典著作,主要讲解了Microsoft Foundation Classes (MFC) 库的使用,它是一个由微软提供的C++类库,用于简化Windows应用程序开发。MFC将Windows API封装成易于使用的C++类,...
《深入浅出MFC》是著名C++专家侯捷撰写的一本关于Microsoft Foundation Classes (MFC) 的经典著作。MFC是由微软开发的一个C++类库,它为Windows应用程序开发提供了一种抽象和封装,使得开发者可以更方便地利用...
《深入浅出MFC简体中文版》是一本专注于Microsoft Foundation Classes (MFC) 的编程指南,旨在帮助读者掌握Windows应用程序开发的核心技能。MFC是微软提供的一套C++类库,它为开发者提供了构建Windows应用程序的框架...
4. **参考书籍**:“深入浅出MFC简体版”是一本很好的入门书籍,书中通过大量实例讲解了MFC的核心概念和技术细节。 5. **在线教程**:互联网上有许多优秀的MFC教程,可以通过观看视频或阅读文章来学习。 6. **社区...
本书的中心就是深入浅出地解析MFC类库,分析怎么使用MFC类库以及MFC类库的内部实现,揭开MFC复杂、深奥的面纱,让读者对MFC有一个全面、透彻、清晰的理解。关于MFC的核心实现,主要有以下几个方面。 首先,MFC采用...