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

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

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

定 價(jià):¥80.00

作 者: 侯俊杰著
出版社: 華中科技大學(xué)出版社
叢編項(xiàng): 侯捷譯作系列
標(biāo) 簽: MFC

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

第0章 你一定要知道(導(dǎo)讀)
這本書適合誰
你需要什么技術(shù)基礎(chǔ)
你需要什么軟硬件環(huán)境
讓我們使用同一種語言
本書符號(hào)習(xí)慣
本書例程的取得
范例程序說明
與前版本之差異
如何聯(lián)絡(luò)作者
第一篇 勿在浮砂筑高臺(tái)
第1章 Win32程序基本概念
Win32程序開發(fā)流程
需要什么函數(shù)庫(.LIB)
需要什么頭文件(.H)
以消息為基礎(chǔ),以事件驅(qū)動(dòng)之(message based,event driven)
一個(gè)具體而微的Win32程序
程序進(jìn)入點(diǎn)WinMain
窗口類之注冊(cè)與窗口之誕生
消息循環(huán)
窗口的生命中樞:窗口函數(shù)
消息映射(Message Map)的雛形
對(duì)話框的運(yùn)行
模塊定義文件(.DEF)
資源描述檔(.RC)
Widnows程序的生與死
空閑時(shí)間的處理:OnIdle
Console程序
Console程序與DOS程序的差別
Console程序的編譯鏈接
JBACKUP:Win32 Console程序設(shè)計(jì)
MFCCON:MFC Console程序設(shè)計(jì)
行程與線程(Process and Thread)
核心對(duì)象
一個(gè)行程的誕生與死亡
產(chǎn)生子行程
一個(gè)線程的誕生與死亡
以_beginthreadex取代CreateThread
線程優(yōu)先級(jí)(Priority)
多線程程序設(shè)計(jì)實(shí)例
第2章 C++的重要性質(zhì)
類及其成員——談封裝(encapsulation)
基類與派生類:談繼承(Inheritance)
this指針
虛擬函數(shù)與多態(tài)(Polymorphism)
類與對(duì)象大解剖
Object slicing與虛擬函數(shù)
靜態(tài)成員(變量與函數(shù))
C++程序的生與死:兼談構(gòu)造函數(shù)與解構(gòu)函數(shù)
四種不同的對(duì)象生存方式(in stack、in heap、global、local static)
執(zhí)行期類型信息(RTTI)
動(dòng)態(tài)生成(Dynamic Creation)
異常處理(Exception Handling)
Template
Template Functions
Template Classes
Template的編譯與鏈接
第3章 MFC六大關(guān)鍵技術(shù)之仿真
MFC類層次結(jié)構(gòu)
Frame 1范例程序
MFC程序的初始化過程
Frame 2范例程序
RTTI(執(zhí)行期類型識(shí)別)
類別型錄網(wǎng)與CRuntimeClass
DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏
Frame 3范例程序
IsKindOf(類型識(shí)別)
Frame 4范例程序
Dynamic Creation(動(dòng)態(tài)生成)
DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE宏
Frame 6范例程序
Persistence(永久保存)機(jī)制
Serialize(數(shù)據(jù)讀寫)
DECLARE_SERIAL/IMPLEMENT_SERIAL宏
沒有范例程序
Message Mapping(消息映射)
Frame 7范例程序
Command Routing(命令傳遞)
Frame 8范例程序
本章回顧
第二篇 欲善工事先利其器
第4章 Visual C++集成開發(fā)環(huán)境
安裝與組成
四個(gè)重要的工具
內(nèi)務(wù)府總管:Visual C++集成開發(fā)環(huán)境
關(guān)于project
關(guān)于工具設(shè)定
Source Browser
Online Help
調(diào)試工具
VC++調(diào)試器
Exception Handling
程序代碼產(chǎn)生器:AppWizard
東圈西點(diǎn)完成MFC程序骨干
威力強(qiáng)大的資源編輯器
Icon編輯器
Cursor編輯器
Bitmap編輯器
工具欄(Toolbar)編輯器
VERSIONINFO資源編輯器
字符串表格(Accelerator)編輯器
菜單(Menu)編輯器
加速鍵(Accelerator)編輯器
對(duì)話框(Dialog)編輯器
Console程序的項(xiàng)目管理
第三篇 淺出MFC程序設(shè)計(jì)
第5章 總觀Application Framework
什么是Application Framework?
侯捷怎么說
我怎么說
別人怎么說
為什么使用Application Framework
Microsoft Foundation Classes(MFC)
白頭宮女話天寶:Visual C++與MFC
縱覽MFC
General Purpose classes
CObject
數(shù)據(jù)處理類(collection classes)
雜項(xiàng)類
異常處理類(exception handling classes)
Windows API classes
Application framework classes
High level Abstractions
Afx全局函數(shù)
MFC宏(macros)
MFC數(shù)據(jù)類型(data types)
第6章 MFC程序的生死因果
不二法門:熟記MFC類的層次結(jié)構(gòu)
需要什么函數(shù)庫?
需要什么頭文件?
簡(jiǎn)化的MFC程序結(jié)構(gòu)——以Hello MFC為例
Hello程序程序代碼
MFC程序的來龍去脈(causal relations)
我只借用兩個(gè)類:CWinApp和CFrameWnd
CWinApp——取代WinMain的地位
CFrameWnd——取代WndProc的地位
引爆器——Application object
隱晦不明的WinMain
AfxWinInit——AFX內(nèi)部初始化操作
CWinApp::InitApplication
CMyWinApp::InitInstance
CFrameWnd::Create產(chǎn)生主窗口(并先注冊(cè)窗口類)
奇怪的窗口類名稱Afx:b:14ae:6:3e8f
窗口顯示與更新
CWinApp::Run——程序生命的活水源頭
把消息與處理函數(shù)連接在一起:Message Map機(jī)制
來龍去脈總整理
Callback函數(shù)
空閑時(shí)間(idle time)的處理:OnIdle
Dialog與Control
通用對(duì)話框(Common Dialogs)
本章回顧
第7章 簡(jiǎn)單而完整:MFC骨干程序
不二法門:熟記MFC類層次結(jié)構(gòu)
MFC程序的UI新風(fēng)貌
Document/View支撐你的應(yīng)用程序
利用Visual C++工具完成Scribble step0
骨干程序使用哪些MFC類?
Document Template的意義
Scribble的Document/View設(shè)計(jì)
主窗口的誕生
工具欄和狀態(tài)欄的誕生(Toolbar&Status bar)
鼠標(biāo)拖放(Drag and Drop)
消息映射(Message Map)
標(biāo)準(zhǔn)菜單File/Edit/View/Window/Help
對(duì)話框
改用CEditView
第四篇 深入MFC程序設(shè)計(jì)
第8章 Document-View深入探討
為什么需要Document-View(形而上)
Document
View
Document Frame(View Frame)
Document Template
CDocTemplate管理CDocument/CView/CFrameWnd
Scribble Step1的Document——數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
MFC Collection Classes的選用
CScribbleDoc的修改
文件:一連串的線條
線條與坐標(biāo)點(diǎn)
Scribble Step 1的View:數(shù)據(jù)重繪與編輯
CScribbleView的修改
View的重繪操作:GetDocument和OnDraw
ClassWizard的輔佐
WizardBar的輔佐
Serialize:對(duì)象的檔案讀寫
Serialization以外的檔案讀寫操作
臺(tái)面上的Serialize操作
臺(tái)面下的Serialize寫檔奧秘
臺(tái)面下的Serialize讀檔奧秘
DYNAMIC/DYNCREATE/SERIAL三宏
Serializable的必要條件
CObject類
IsKindOf
IsSerializable
CObject::Serialize
CArchive類
operator《和operator》
效率考慮
自定SERIAL宏給抽象類使用
在CObList中加入CStroke以外的類
Document與View交流——為Step4做準(zhǔn)備
第9章 消息映射與命令傳遞
到底要解決什么
消息分類
萬流歸宗Command Target(CCmdTarget)
三個(gè)奇怪的宏,一張巨大的網(wǎng)
DECLARE_MESSAGE_MAP宏
消息映射網(wǎng)的形成:BEGIN…/ON…/END…宏
米諾托斯(Minotauros)與西修斯(Theseus)
二萬五千里長(zhǎng)征——消息的傳遞
直線上溯(一般Windows消息)
拐彎上溯(WM_COMMAND命令消息)
羅塞達(dá)碑石:AfxSig_xx的奧秘
Scribble Step2:UI對(duì)象的變化
改變菜單
改變工具欄
利用ClassWizard連接命令項(xiàng)識(shí)別碼與命令處理函數(shù)
維護(hù)UI對(duì)象狀態(tài)(UPDATE_COMMAND_UI)
本章回顧
第10章 MFC與對(duì)話盒
對(duì)話框編輯器
利用ClassWizard連接對(duì)話框與其專用類
對(duì)話框的消息處理函數(shù)
對(duì)話框數(shù)據(jù)交換與校驗(yàn)(DDX&DDV)
如何喚起對(duì)話框
本章回顧
第11章 View功能的加強(qiáng)與重繪效率的提高
同時(shí)修改多個(gè)Views:UpdateAllViews和OnUpdate
在View中定義一個(gè)hint
把hint傳給OnUpdate
利用hint增加重繪效率
可卷動(dòng)的窗口:CScrollView
大窗口中的小窗口:Splitter
切分窗口的功能
切分窗口的程序概念
切分窗口的實(shí)現(xiàn)
本章回顧
第12章 打印與預(yù)覽
概述
打印操作的后臺(tái)原理
MFC默認(rèn)的打印機(jī)制
Scribble打印機(jī)制的增強(qiáng)
打印機(jī)的頁和文件的頁
配置GDI繪圖工具
尺寸與方向:關(guān)于映射方式(坐標(biāo)系統(tǒng))
分頁
頁眉與頁腳
動(dòng)態(tài)計(jì)算頁碼
打印預(yù)覽(Print Preview)
本章回顧
第13章 多重文件與多重顯示
MDI和SDI
多重顯示(Multiple Views)
窗口的動(dòng)態(tài)切分
窗口的靜態(tài)切分
CreateStatic和CreateView
窗口的靜態(tài)三叉切分
Graph范例程序
靜態(tài)切分窗口之觀念整理
同源子窗口
CMDIFrameWnd::OnWindowNew
Text范例程序
非標(biāo)準(zhǔn)做法的缺點(diǎn)
多重文件
新的Cocument類
新的Document Template
新的UI系統(tǒng)
新文件的檔案讀寫操作
第14章 MFC多線程程序設(shè)計(jì)
從操作系統(tǒng)層面看線程
三個(gè)觀念:模塊、行程和線程
線程優(yōu)先級(jí)(Priority)
線程調(diào)度(Scheduling)
Thread Context
從程序設(shè)計(jì)層面看線程
Worker Threads和UI Threads
錯(cuò)誤觀念
正確態(tài)度
MFC多線程程序設(shè)計(jì)
探索CWinThread
產(chǎn)生一個(gè)Worker Thread
產(chǎn)生一個(gè)UI Thread
線程的結(jié)束
線程與同步控制
MFC多線程程序例程
第15章 定制一個(gè)AppWizard
到底Wizard是什么?
Custom AppWizard的基本操作
剖析AppWizard Components
Dialog Templates和Dialog classes
Macros
Directives
動(dòng)手修改Top Studio AppWizard
利用資源編輯器修改IDD_CUSTOM1對(duì)話框畫面
利用ClassWizard修改IDD_CUSTOM1對(duì)話框的對(duì)應(yīng)類CCustomlDlg
改寫OnDismiss虛擬函數(shù),在其中定義macros
修改text template
Top Studio AppWizard執(zhí)行結(jié)果
更多的信息
第16章 站上眾人的肩膀——使用Components&activeX Controls
什么是Component Gallery
使用Components
Splash screen
system Info for About Dlg
Tip of the Day
Components實(shí)際運(yùn)用:ComTest程序
修改ComTest程序內(nèi)容
使用ActiveX Controls
ActiveX Control基礎(chǔ)觀念:Properties、Methods、Events
ActiveX Controls的五大使用步驟
使用ActiveX Control:OcxTest程序
第五篇 附錄
附錄A 無責(zé)任書評(píng):從搖籃到墳?zāi)筗indows的完全學(xué)習(xí)
      無責(zé)任書評(píng):MFC四大天王
附錄B Scribble Step 5完整原始碼
附錄C Visual C++5.0MFC范例程序一覽
附錄D 以MFC重建DBWIN

本目錄推薦

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