您好,欢迎光临有路网!
深入浅出MFC(第2版)
QQ咨询:
有路璐璐:

深入浅出MFC(第2版)

  • 作者:侯俊杰
  • 出版社:华中理工大学出版社
  • ISBN:9787900614933
  • 出版日期:2001年01月01日
  • 页数:701
  • 定价:¥80.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    本书分为四大篇。**篇提出学习MFC程序设计之前的必要基础,包括Widnows程序的基本观念以及C++的高阶议题。“学前基础”是相当主观的认定,不过,甚于我个人的学习经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++整合环境开发工具。本篇只不过是提纲挈领而已,并不企图取代 Visual C++使用手册。然而对于软件使用的老手,此篇或已足以让您掌握Visual C++整合环境。工具的使用虽然谈不上学问,但在视觉化软件开发过程中扮演极重角色,切莫小觑它。 第三篇介绍application framework的观念,以及MFC骨干程序,所谓骨干程序,是指Visual C++的工具AppWizard所产生出来的程序码。当然,AppWizard会根据你的选项做出不同的程序码,我所据以解说的,是大众化选项下的产品。 第四篇以微软公司附于Visual C++光碟片上的一个范例程序Scribble为主轴,一步一步加上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serializat
    目录
    第0章 你一定要知道(导读)
    这本书适合谁
    你需要什么技术基础
    你需要什么软硬件环境
    让我们使用同一种语言
    本书符号习惯
    本书例程的取得
    范例程序说明
    与前版本之差异
    如何联络作者

    **篇 勿在浮砂筑高台
    第1章 Win32程序基本概念
    Win32程序开发流程
    需要什么函数库(.LIB)
    需要什么头文件(.H)
    以消息为基础,以事件驱动之(message based,event driven)
    一个具体而微的Win32程序
    程序进入点WinMain
    窗口类之注册与窗口之诞生
    消息循环
    窗口的生命**:窗口函数
    消息映射(Message Map)的雏形
    对话框的运行
    模块定义文件(.DEF)
    资源描述档(.RC)
    Widnows程序的生与死
    空闲时间的处理:OnIdle
    Console程序
    Console程序与DOS程序的差别
    Console程序的编译链接
    JBACKUP:Win32 Console程序设计
    MFCCON:MFC Console程序设计
    行程与线程(Process and Thread)
    核心对象
    一个行程的诞生与死亡
    产生子行程
    一个线程的诞生与死亡
    以_beginthreadex取代CreateThread
    线程优先级(Priority)
    多线程程序设计实例

    第2章 C++的重要性质
    类及其成员——谈封装(encapsulation)
    基类与派生类:谈继承(Inheritance)
    this指针
    虚拟函数与多态(Polymorphism)
    类与对象大解剖
    Object slicing与虚拟函数
    静态成员(变量与函数)
    C++程序的生与死:兼谈构造函数与解构函数
    四种不同的对象生存方式(in stack、in heap、global、local static)
    执行期类型信息(RTTI)
    动态生成(Dynamic Creation)
    异常处理(Exception Handling)
    Template
    Template Functions
    Template Classes
    Template的编译与链接

    第3章 MFC六大关键技术之仿真
    MFC类层次结构
    Frame 1范例程序
    MFC程序的初始化过程
    Frame 2范例程序
    RTTI(执行期类型识别)
    类别型录网与CRuntimeClass
    DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏
    Frame 3范例程序
    IsKindOf(类型识别)
    Frame 4范例程序
    Dynamic Creation(动态生成)
    DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE宏
    Frame 6范例程序
    Persistence(**保存)机制
    Serialize(数据读写)
    DECLARE_SERIAL/IMPLEMENT_SERIAL宏
    没有范例程序
    Message Mapping(消息映射)
    Frame 7范例程序
    Command Routing(命令传递)
    Frame 8范例程序
    本章回顾

    第二篇 欲善工事先利其器
    第4章 Visual C++集成开发环境
    安装与组成
    四个重要的工具
    内务府总管:Visual C++集成开发环境
    关于project
    关于工具设定
    Source Browser
    Online Help
    调试工具
    VC++调试器
    Exception Handling
    程序代码产生器:AppWizard
    东圈西点完成MFC程序骨干
    威力强大的资源编辑器
    Icon编辑器
    Cursor编辑器
    Bitmap编辑器
    工具栏(Toolbar)编辑器
    VERSIONINFO资源编辑器
    字符串表格(Accelerator)编辑器
    菜单(Menu)编辑器
    加速键(Accelerator)编辑器
    对话框(Dialog)编辑器
    Console程序的项目管理

    第三篇 浅出MFC程序设计
    第5章 总观Application Framework
    什么是Application Framework?
    侯捷怎么说
    我怎么说
    别人怎么说
    为什么使用Application Framework
    Microsoft Foundation Classes(MFC)
    白头宫女话天宝:Visual C++与MFC
    纵览MFC
    General Purpose classes
    CObject
    数据处理类(collection classes)
    杂项类
    异常处理类(exception handling classes)
    Windows API classes
    Application framework classes
    High level Abstractions
    Afx全局函数
    MFC宏(macros)
    MFC数据类型(data types)

    第6章 MFC程序的生死因果
    不二法门:熟记MFC类的层次结构
    需要什么函数库?
    需要什么头文件?
    简化的MFC程序结构——以Hello MFC为例
    Hello程序程序代码
    MFC程序的来龙去脉(causal relations)
    我只借用两个类:CWinApp和CFrameWnd
    CWinApp——取代WinMain的地位
    CFrameWnd——取代WndProc的地位
    引爆器——Application object
    隐晦不明的WinMain
    AfxWinInit——AFX内部初始化操作
    CWinApp::InitApplication
    CMyWinApp::InitInstance
    CFrameWnd::Create产生主窗口(并先注册窗口类)
    奇怪的窗口类名称Afx:b:14ae:6:3e8f
    窗口显示与更新
    CWinApp::Run——程序生命的活水源头
    把消息与处理函数连接在一起:Message Map机制
    来龙去脉总整理
    Callback函数
    空闲时间(idle time)的处理:OnIdle
    Dialog与Control
    通用对话框(Common Dialogs)
    本章回顾

    第7章 简单而完整:MFC骨干程序
    不二法门:熟记MFC类层次结构
    MFC程序的UI新风貌
    Document/View支撑你的应用程序
    利用Visual C++工具完成Scribble step0
    骨干程序使用哪些MFC类?
    Document Template的意义
    Scribble的Document/View设计
    主窗口的诞生
    工具栏和状态栏的诞生(Toolbar&Status bar)
    鼠标拖放(Drag and Drop)
    消息映射(Message Map)
    标准菜单File/Edit/View/Window/Help
    对话框
    改用CEditView

    第四篇 深入MFC程序设计
    第8章 Document-View深入探讨
    为什么需要Document-View(形而上)
    Document
    View
    Document Frame(View Frame)
    Document Template
    CDocTemplate管理CDocument/CView/CFrameWnd
    Scribble Step1的Document——数据结构设计
    MFC Collection Classes的选用
    CScribbleDoc的修改
    文件:一连串的线条
    线条与坐标点
    Scribble Step 1的View:数据重绘与编辑
    CScribbleView的修改
    View的重绘操作:GetDocument和OnDraw
    ClassWizard的辅佐
    WizardBar的辅佐
    Serialize:对象的档案读写
    Serialization以外的档案读写操作
    台面上的Serialize操作
    台面下的Serialize写档奥秘
    台面下的Serialize读档奥秘
    DYNAMIC/DYNCREATE/SERIAL三宏
    Serializable的必要条件
    CObject类
    IsKindOf
    IsSerializable
    CObject::Serialize
    CArchive类
    operator《和operator》
    效率考虑
    自定SERIAL宏给抽象类使用
    在CObList中加入CStroke以外的类
    Document与View交流——为Step4做准备

    第9章 消息映射与命令传递
    到底要解决什么
    消息分类
    万流归宗Command Target(CCmdTarget)
    三个奇怪的宏,一张巨大的网
    DECLARE_MESSAGE_MAP宏
    消息映射网的形成:BEGIN…/ON…/END…宏
    米诺托斯(Minotauros)与西修斯(Theseus)
    二万五千里长征——消息的传递
    直线上溯(一般Windows消息)
    拐弯上溯(WM_COMMAND命令消息)
    罗塞达碑石:AfxSig_xx的奥秘
    Scribble Step2:UI对象的变化
    改变菜单
    改变工具栏
    利用ClassWizard连接命令项识别码与命令处理函数
    维护UI对象状态(UPDATE_COMMAND_UI)
    本章回顾

    第10章 MFC与对话盒
    对话框编辑器
    利用ClassWizard连接对话框与其专用类
    对话框的消息处理函数
    对话框数据交换与校验(DDX&DDV)
    如何唤起对话框
    本章回顾

    第11章 View功能的加强与重绘效率的提高
    同时修改多个Views:UpdateAllViews和OnUpdate
    在View中定义一个hint
    把hint传给OnUpdate
    利用hint增加重绘效率
    可卷动的窗口:CScrollView
    大窗口中的小窗口:Splitter
    切分窗口的功能
    切分窗口的程序概念
    切分窗口的实现
    本章回顾

    第12章 打印与预览
    概述
    打印操作的后台原理
    MFC默认的打印机制
    Scribble打印机制的增强
    打印机的页和文件的页
    配置GDI绘图工具
    尺寸与方向:关于映射方式(坐标系统)
    分页
    页眉与页脚
    动态计算页码
    打印预览(Print Preview)
    本章回顾

    第13章 多重文件与多重显示
    MDI和SDI
    多重显示(Multiple Views)
    窗口的动态切分
    窗口的静态切分
    CreateStatic和CreateView
    窗口的静态三叉切分
    Graph范例程序
    静态切分窗口之观念整理
    同源子窗口
    CMDIFrameWnd::OnWindowNew
    Text范例程序
    非标准做法的缺点
    多重文件
    新的Cocument类
    新的Document Template
    新的UI系统
    新文件的档案读写操作

    第14章 MFC多线程程序设计
    从操作系统层面看线程
    三个观念:模块、行程和线程
    线程优先级(Priority)
    线程调度(Scheduling)
    Thread Context
    从程序设计层面看线程
    Worker Threads和UI Threads
    错误观念
    正确态度
    MFC多线程程序设计
    探索CWinThread
    产生一个Worker Thread
    产生一个UI Thread
    线程的结束
    线程与同步控制
    MFC多线程程序例程

    第15章 定制一个AppWizard
    到底Wizard是什么?
    Custom AppWizard的基本操作
    剖析AppWizard Components
    Dialog Templates和Dialog classes
    Macros
    Directives
    动手修改Top Studio AppWizard
    利用资源编辑器修改IDD_CUSTOM1对话框画面
    利用ClassWizard修改IDD_CUSTOM1对话框的对应类CCustomlDlg
    改写OnDismiss虚拟函数,在其中定义macros
    修改text template
    Top Studio AppWizard执行结果
    更多的信息

    第16章 站上众人的肩膀——使用Components&activeX Controls
    什么是Component Gallery
    使用Components
    Splash screen
    system Info for About Dlg
    Tip of the Day
    Components实际运用:ComTest程序
    修改ComTest程序内容
    使用ActiveX Controls
    ActiveX Control基础观念:Properties、Methods、Events
    ActiveX Controls的五大使用步骤
    使用ActiveX Control:OcxTest程序

    第五篇 附录
    附录A 无责任书评:从摇篮到坟墓Windows的完全学习
    无责任书评:MFC四大天王
    附录B Scribble Step 5完整原始码
    附录C Visual C++5.0MFC范例程序一览
    附录D 以MFC重建DBWIN

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外