注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計C/C++及其相關深入淺出MFC:使用Visual C++5.0 & MFC 4.2

深入淺出MFC:使用Visual C++5.0 & MFC 4.2

深入淺出MFC:使用Visual C++5.0 & MFC 4.2

定 價:¥80.00

作 者: 侯俊杰著
出版社: 華中科技大學出版社
叢編項: 侯捷譯作系列
標 簽: MFC

ISBN: 9787900614933 出版時間: 2001-01-01 包裝: 膠版紙
開本: 26cm+光盤1片 頁數(shù): 736 字數(shù):  

內容簡介

  本書分為四大篇。第一篇提出學習MFC程序設計之前的必要基礎,包括Widnows程序的基本觀念以及C++的高階議題。“學前基礎”是相當主觀的認定,不過,甚于我個人的學習經驗以及教學經驗,我的挑選應該頗具說服力。第二篇介紹Visual C++整合環(huán)境開發(fā)工具。本篇只不過是提綱挈領而已,并不企圖取代 Visual C++使用手冊。然而對于軟件使用的老手,此篇或已足以讓您掌握Visual C++整合環(huán)境。工具的使用雖然談不上學問,但在視覺化軟件開發(fā)過程中扮演極重角色,切莫小覷它。 第三篇介紹application framework的觀念,以及MFC骨干程序,所謂骨干程序,是指Visual C++的工具AppWizard所產生出來的程序碼。當然,AppWizard會根據(jù)你的選項做出不同的程序碼,我所據(jù)以解說的,是大眾化選項下的產品。 第四篇以微軟公司附于Visual C++光碟片上的一個范例程序Scribble為主軸,一步一步加上新的功能。并在其間深入介紹Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等核心技術。這些技術正是其他書籍最缺乏的部分。此篇之最后數(shù)章則脫離Scribble程序,另成一格。 本書內含光盤一片,書中所有原始碼與可執(zhí)行文件盡在其中。

作者簡介

  作者:侯捷臺灣資深技術作家、譯者。閑靜少言。不慕榮利。好讀書。求甚解。侯捷先生以為“任何書籍如果缺少讀者,再怎么優(yōu)秀都將喪失價值。因此,做為一位書評人,我非常樂見評選風氣興盛。雖然所謂“喜愛”帶有很大的主觀成份,但這類評選仍然具有十分正面的價值,可以帶給讀者、作者、譯者、出版者很大的參與感,對于讀書風氣、好書浮現(xiàn)率都有幫助?!鄙钊霚\出MFC(第二版)>>更多作品

圖書目錄

第0章 你一定要知道(導讀)
這本書適合誰
你需要什么技術基礎
你需要什么軟硬件環(huán)境
讓我們使用同一種語言
本書符號習慣
本書例程的取得
范例程序說明
與前版本之差異
如何聯(lián)絡作者
第一篇 勿在浮砂筑高臺
第1章 Win32程序基本概念
Win32程序開發(fā)流程
需要什么函數(shù)庫(.LIB)
需要什么頭文件(.H)
以消息為基礎,以事件驅動之(message based,event driven)
一個具體而微的Win32程序
程序進入點WinMain
窗口類之注冊與窗口之誕生
消息循環(huán)
窗口的生命中樞:窗口函數(shù)
消息映射(Message Map)的雛形
對話框的運行
模塊定義文件(.DEF)
資源描述檔(.RC)
Widnows程序的生與死
空閑時間的處理:OnIdle
Console程序
Console程序與DOS程序的差別
Console程序的編譯鏈接
JBACKUP:Win32 Console程序設計
MFCCON:MFC Console程序設計
行程與線程(Process and Thread)
核心對象
一個行程的誕生與死亡
產生子行程
一個線程的誕生與死亡
以_beginthreadex取代CreateThread
線程優(yōu)先級(Priority)
多線程程序設計實例
第2章 C++的重要性質
類及其成員——談封裝(encapsulation)
基類與派生類:談繼承(Inheritance)
this指針
虛擬函數(shù)與多態(tài)(Polymorphism)
類與對象大解剖
Object slicing與虛擬函數(shù)
靜態(tài)成員(變量與函數(shù))
C++程序的生與死:兼談構造函數(shù)與解構函數(shù)
四種不同的對象生存方式(in stack、in heap、global、local static)
執(zhí)行期類型信息(RTTI)
動態(tài)生成(Dynamic Creation)
異常處理(Exception Handling)
Template
Template Functions
Template Classes
Template的編譯與鏈接
第3章 MFC六大關鍵技術之仿真
MFC類層次結構
Frame 1范例程序
MFC程序的初始化過程
Frame 2范例程序
RTTI(執(zhí)行期類型識別)
類別型錄網(wǎng)與CRuntimeClass
DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏
Frame 3范例程序
IsKindOf(類型識別)
Frame 4范例程序
Dynamic Creation(動態(tài)生成)
DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE宏
Frame 6范例程序
Persistence(永久保存)機制
Serialize(數(shù)據(jù)讀寫)
DECLARE_SERIAL/IMPLEMENT_SERIAL宏
沒有范例程序
Message Mapping(消息映射)
Frame 7范例程序
Command Routing(命令傳遞)
Frame 8范例程序
本章回顧
第二篇 欲善工事先利其器
第4章 Visual C++集成開發(fā)環(huán)境
安裝與組成
四個重要的工具
內務府總管:Visual C++集成開發(fā)環(huán)境
關于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
數(shù)據(jù)處理類(collection classes)
雜項類
異常處理類(exception handling classes)
Windows API classes
Application framework classes
High level Abstractions
Afx全局函數(shù)
MFC宏(macros)
MFC數(shù)據(jù)類型(data types)
第6章 MFC程序的生死因果
不二法門:熟記MFC類的層次結構
需要什么函數(shù)庫?
需要什么頭文件?
簡化的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——程序生命的活水源頭
把消息與處理函數(shù)連接在一起:Message Map機制
來龍去脈總整理
Callback函數(shù)
空閑時間(idle time)的處理:OnIdle
Dialog與Control
通用對話框(Common Dialogs)
本章回顧
第7章 簡單而完整:MFC骨干程序
不二法門:熟記MFC類層次結構
MFC程序的UI新風貌
Document/View支撐你的應用程序
利用Visual C++工具完成Scribble step0
骨干程序使用哪些MFC類?
Document Template的意義
Scribble的Document/View設計
主窗口的誕生
工具欄和狀態(tài)欄的誕生(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——數(shù)據(jù)結構設計
MFC Collection Classes的選用
CScribbleDoc的修改
文件:一連串的線條
線條與坐標點
Scribble Step 1的View:數(shù)據(jù)重繪與編輯
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)
三個奇怪的宏,一張巨大的網(wǎng)
DECLARE_MESSAGE_MAP宏
消息映射網(wǎng)的形成:BEGIN…/ON…/END…宏
米諾托斯(Minotauros)與西修斯(Theseus)
二萬五千里長征——消息的傳遞
直線上溯(一般Windows消息)
拐彎上溯(WM_COMMAND命令消息)
羅塞達碑石:AfxSig_xx的奧秘
Scribble Step2:UI對象的變化
改變菜單
改變工具欄
利用ClassWizard連接命令項識別碼與命令處理函數(shù)
維護UI對象狀態(tài)(UPDATE_COMMAND_UI)
本章回顧
第10章 MFC與對話盒
對話框編輯器
利用ClassWizard連接對話框與其專用類
對話框的消息處理函數(shù)
對話框數(shù)據(jù)交換與校驗(DDX&DDV)
如何喚起對話框
本章回顧
第11章 View功能的加強與重繪效率的提高
同時修改多個Views:UpdateAllViews和OnUpdate
在View中定義一個hint
把hint傳給OnUpdate
利用hint增加重繪效率
可卷動的窗口:CScrollView
大窗口中的小窗口:Splitter
切分窗口的功能
切分窗口的程序概念
切分窗口的實現(xiàn)
本章回顧
第12章 打印與預覽
概述
打印操作的后臺原理
MFC默認的打印機制
Scribble打印機制的增強
打印機的頁和文件的頁
配置GDI繪圖工具
尺寸與方向:關于映射方式(坐標系統(tǒng))
分頁
頁眉與頁腳
動態(tài)計算頁碼
打印預覽(Print Preview)
本章回顧
第13章 多重文件與多重顯示
MDI和SDI
多重顯示(Multiple Views)
窗口的動態(tài)切分
窗口的靜態(tài)切分
CreateStatic和CreateView
窗口的靜態(tài)三叉切分
Graph范例程序
靜態(tài)切分窗口之觀念整理
同源子窗口
CMDIFrameWnd::OnWindowNew
Text范例程序
非標準做法的缺點
多重文件
新的Cocument類
新的Document Template
新的UI系統(tǒng)
新文件的檔案讀寫操作
第14章 MFC多線程程序設計
從操作系統(tǒng)層面看線程
三個觀念:模塊、行程和線程
線程優(yōu)先級(Priority)
線程調度(Scheduling)
Thread Context
從程序設計層面看線程
Worker Threads和UI Threads
錯誤觀念
正確態(tài)度
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虛擬函數(shù),在其中定義macros
修改text template
Top Studio AppWizard執(zhí)行結果
更多的信息
第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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號