登录 注册
当前位置:主页 > 资源下载 > 49 > 真正的侯捷《深入浅出mfc》chm版下载

真正的侯捷《深入浅出mfc》chm版下载

  • 更新:2024-06-09 10:07:56
  • 大小:17.26MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C++ - 后端
  • 格式:RAR

资源介绍

目 录 第0章 你一定要知道(导读)/1 这本书适合谁/1 你需要什么技术基础/1 你需要什么软硬件环境 让我们使用同一种语言 本书符号习惯/3 磁盘内容与安装 范例程序说明 第一篇 勿在浮砂筑高台 - 本书技术前提/3 第1章 Win32 程序基本观念/3 Win32程序开发流程/4 需要什么函数库(.LIB)/4 需要什么头文件(.H)/4 以消息为基础,以事件驱动之/5 一个具体而微的Win32 程序/5 程序进入点WinMain/10 窗口类之注册与窗口之诞生/11 消息循环/12 窗口的生命中枢—窗口函数/12 消息映射(Message Map)雏形/13 对话框的运作/14 模块定义文件(.DEF)/14 资源描述文件(.RC) /15 Windows 程序的生与死/15 闲置时间的处理:OnIdle /16 Console 程序/17 Console 程序与 DOS 程序的差别/17 Console 程序的编译链接/18 JBACKUP:Win32 Console 程序设计/19 MFCCON:MFC Console 程序设计/20 什么是C Runtime Library 的多线程版本/22 进程与线程(Process and Thread)/22 核心对象/22 一个进程的诞生与死亡/23 产生子进程/23 一个线程的诞生与死亡/24 以_beginthreadex取代CreateThread/25 线程优先权(Priority)/26 多线程程序设计实例/27 第2章 C++ 的重要性质 /29 类及其成员—谈封装(encapsulation)/29 基类与派生类—谈继承(Inheritance)/29 this 指针 /31 虚函数与多态(Polymorphism)/32 类与对象大解剖 /40 Object slicing 与虚函数 /42 静态成员(变量与函数) /44 C++程序的生与死:兼谈构造函数与析构函数 /46 四种不同的对象生存方式 /47 所谓“Unwinding”/48 运行时类型信息(RTTI) /48 动态生成(Dynamic Creation) /50 异常处理(Exception Handling) /50 Template /53 Template Functions /53 Template Classes /54 Templates 的编译与链接 /56 第3章 MFC六大关键技术之模拟/57 MFC类阶层/57 Frame1范例程序/57 MFC程序的初始化过程/59 Frame2范例程序/61 RTTI(运行时类型辨识)/65 CRuntimeClass与类型录网 /65 DECLARE_DYNAMIC / IMPLEMENT_DYNAMIC宏/66 Frame3 范例程序/71 IsKindOf(类型辨识)/77 Frame4 范例程序/77 Dynamic Creation(动态生成)/78 DECLARE_DYNCREATE / IMPLEMENT_DYNCREATE 宏 /79 Frame6 范例程序 /84 Persistence(永续生存)机制 /91 Serialize(数据读写) /91 DECLARE_SERIAL/IMPLEMENT_SERIAL 宏 /95 没有范例程序 Message Mapping(消息映射)/97 Frame7 范例程序/104 Command Routing(命令循环)/112 Frame8 范例程序/119 本章回顾/130 第二篇 欲善工事先利其器- Visual C++ 5.0 开发工具 第4章 Visual C++ - 整合性软件开发环境 安装与组成 四个重要的工具 内务府总管:Visual C++ 整合开发环境 关于project 关于工具设定 Source Browser Online Help 除错工具 VC++ 除错器 Exception Handling 程序代码产生器—AppWizard 东圈西点完成 MFC 程序骨干 Scribble Step0 威力强大的资源编辑器 Icon 编辑器 Cursor编辑器 Bitmap编辑器 ToolBar编辑器 VERSIONINFO资源编辑器 String Table编辑器 Menu 编辑器 Accelerator 编辑器 Dialog 编辑器 Console 程序的项目管理 第三篇 浅出MFC程序设计 第5章 总观Application Framework /130 什么是Application Framework /130 侯捷怎么说 /130 我怎么说 /131 别人怎么说 /133 为什么使用 Application Framework /134 Microsoft Foundation Class(MFC) /136 白头宫女话天宝:Visual C++与MFC/137 纵览MFC /138 General Purpose classes /138 Windows API classes /139 Application framework classes /140 High level abstractions /140 Afx全局函数 /140 MFC宏(macros) /141 MFC数据类型(data type)/142 第6章 MFC程序设计导论——MFC程序的生死因果 /144 不二法门:熟记MFC类的阶层架构 /144 需要什么函数库(.LIB) /146 需要什么含入文件(.H) /146 简化的MFC程序架构—以Hello MFC为例 /148 Hello 程序原始代码 /148 MFC 程序的来龙去脉 /152 我只借用两个类:CWinApp和CFrameWnd /152 CWinApp—取代WinMain的地位 /152 CFrameWnd—取代WndProc的地位 /154 引爆器—Application object /155 隐晦不明的 WinMain /156 AfxWinInit - AFX 内部初始化动作 /158 CWinApp::InitApplication /160 CMyWinApp::InitInstance /160 CFrameWnd::Create 产生主窗口(并注册窗口类)/161 奇怪的窗口类名称 Afx:b:14ae:6:3e8f/168 窗口显示与更新 /170 CWinApp::Run - 程序生命的活水源头/170 把消息与处理函数串接在一起:Message Map机制/172 来龙去脉总整理/173 Callback 函数/174 闲置时间(idle time)的处理:OnIdle/176 Dialog 与 Control/178 通用对话框(Common Controls)/178 本章回顾/179 第7章 简单而完整:MFC 骨干程序/180 不二法门:熟记 MFC 类的阶层架构/180 MFC程序的UI新风貌/180 Document/View 支撑你的应用程序 /181 利用Visual C++工具完成Scribble step0 /183 骨干程序使用哪些MFC类?/183 Document Template的意义 /187 Scribble的Document/View 设计/190 主窗口的诞生/192 工具列和状态列的诞生(Toolbar & Status bar)/193 鼠标拖放(Drag and Drop)/195 消息映射(Message Map)/196 标准菜单File/Edit/View/Window/Help/196 对话框 /199 改用CEditView /199 第四篇 深入MFC程序设计 /199 第8章 Document-View 深入探讨 /200 为什么需要 Document-View(形而上)/200 Document /200 View /201 Document Frame(View Frame)/202 Document Template /202 CDocTemplate 管理 CDocument / CView / CFrameWnd /202 Scribble Step1 的 Document(数据结构设计) /207 MFC Collection Classes 的选用 /207 Template-Based Classes /208 Template-Based Classes 的使用方法 /209 CScribbleDoc 的修改 /209 SCRIBBLEDOC.H /211 SCRIBBLEDOC.CPP /212 文件:一连串的线条 /215 CScribbleDoc 的成员变量 /215 CObList /215 CScribbleDoc 的成员函数 /215 线条与坐标点 /217 CStroke 的成员变量 /217 CArray /217 CStroke 的成员函数 /217 Scribble Step1 的 View:数据重绘与编辑 /218 CScribbleView 的修改 /218 SCRIBBLEVIEW.H /219 SCRIBBLEVIEW.CPP /220 View 的重绘动作—GetDocument和OnDraw /222 CScribbleView的成员变量 /222 CScribbleView的成员函数 /223 View 与使用者的交谈(鼠标消息处理实例)/223 ClassWizard 的辅佐 /224 WizardBar 的辅佐 /225 Serialize:对象的文件读写 /225 Serialization以外的文件读写动作 /226 台面上的Serialize动作 /227 台面下的Serialize写文件奥秘 /231 台面下的Serialize读文件奥秘 /233 DYNAMIC / DYNCREATE / SERIAL 三宏/240 Serializable 的必要条件/244 CObject 类/245 IsKindOf/245 IsSerializable/245 CObject::Serialize/245 CArchive类/246 operator<<和operator>>/246 效率考虑/250 自定 SERIAL宏给抽象类使用 /250 在CObList中加入 CStroke 以外的类 /250 Document与View 交流—为Scribble Step4做准备/254 第9章 消息映射与命令循环 /255 到底要解决什么 /255 消息分类 /256 万流归宗 Command Target(CCmdTarget)/256 三个奇怪的宏,一张巨大的网 /257 DECLARE_MESSAGE_MAP 宏/257 消息映射网的形成:BEGIN_/ON_/END_ 宏 /258 米诺托斯(Minotauros)与西修斯(Theseus)/261 两万五千里长征—消息的流窜 /265 直线上溯(一般 Windows 消息) /265 拐弯上溯(WM_COMMAND 命令消息) /268 罗塞达碑石:AfxSig_xx 的秘密/273 Scribble Step2:UI 对象的变化/277 改变菜单/277 改变工具列/278 利用ClassWizard连接命令项识别代码与命令处理函数/280 维护UI对象状态(UPDATE_COMMAND_UI)/282 本章回顾/285 第10章 MFC 与对话框/285 对话框编辑器/286 利用ClassWizard 连接对话框与其专属类/288 PENDLG.H /290 PENDLG.CPP /291 对话框的消息处理函数 /292 MFC中各式各样的MAP /294 对话框数据交换与查核(DDX & DDV)/294 MFC中各式各样的DDx_函数 /297 如何唤起对话框 /297 本章回顾 /299 第11章 View功能之加强与重绘效率之提升/299 同时修改多个 Views:UpdateAllViews 和 OnUpdate/300 在View中定义一个 hint/302 把hint传给 OnUpdate/304 利用hint增加重绘效率/305 可卷动的窗口:CScrollView /307 大窗口中的小窗口:Splitter /313 分裂窗口的功能 /313 分裂窗口的程序概念/314 分裂窗口之实现/315 本章回顾 /317 第12章 印表与预览/317 概观/317 打印动作的后台原理 /320 MFC预设的打印机制 /324 Scribble打印机制的补强 /333 打印机的页和文件的页 /333 配置GDI绘图工具 /334 尺寸与方向:关于映射模式(坐标系统)/334 分页/336 表头(Header)与表尾/338 动态计算页代码/338 打印预览(Print Preview)/339 本章回顾/339 第13章 多重文件与多重显示 /339 MDI 和 SDI /340 多重显像(Multiple Views) /340 窗口的动态分裂 /342 窗口的静态分裂 /343 CreateStatic 和 CreateView /343 窗口的静态三叉分裂 /345 Graph 范例程序 /346 静态分裂窗口之观念整理 /354 同源子窗口 /355 CMDIFrameWnd::OnWindowNew/355 Text 范例程序 /356 非制式作法的缺点 /361 多重文件 /361 新的Document类 /362 新的Document Template /363 新的UI系统 /364 新文件的文件读写动作 /365 第14章 MFC多线程程序设计(Multi-threaded Programming in MFC)/367 从操作系统层面看线程/367 三个观念:模块、进程、线程/367 线程优先权(Priority) /368 线程排程(Scheduling) /369 Thread Context /370 从程序设计层面看线程 /371 Worker Threads 和UI Threads /371 错误观念 /372 正确态度 /372 MFC多线程程序设计 /372 探索CwinThread/372 产生一个Worker Thread/374 产生一个UI Thread /375 线程的结束/376 线程与同步控制 /376 MFC多线程程序实例 /378 第15章 定制一个AppWizard /380 到底Wizard是什么? /381 Custom AppWizard 的基本操作 /381 剖析AppWizard Components /385 Dialog Templates 和Dialog Classes /385 Macros /386 Directives /387 动手修改Top Studio AppWizard/387 利用资源编辑器修改IDD_CUSTOM1对话窗画面/387 利用ClassWizard 修改CCustom1Dlg类 /388 改写OnDismiss 虚函数,在其中定义macros /389 修改text template/389 Top Studio AppWizard执行结果/390 更多的信息/390 第16章 站上众人的肩膀—使用Components和ActiveX Controls/391 什么是Component Gallery /391 使用 Components /393 Splash screen /393 System Info for About Dlg /394 Tips of the Day /394 Components实际运用:ComTest 程序/395 修改ComTest 程序内容 /409 使用ActiveX Controls /411 ActiveX Control 基础观念:Properties、Methods、Events/411 ActiveX Controls 的五大使用步骤/412 使用“Grid”ActiveX Control:OcxTest 程序/413