《深入浅出MFC》下载
百度云及其他網盤下載地址:點我
編輯推薦
《深入淺出MFC》內含光盤一片,書中所有原始碼與可執行文件盡在其中。
作者簡介
侯俊杰,先生不知何許人也,閑靜少言,不慕榮利。好讀書,求甚解;每有會意,擊節高歌,欣然忘食。嗜咖啡,妻嚴,不能常得。親舊知其如此,或備而禮之,或置而招之;造飲輒盡,期在必快。既快而退,曾不吝去留。善善惡惡,賢賢賤不肖。曲高和寡,直言罪人,晏如也。胸有點墨,心無城府。常著文章白娛,頗示己志。忘懷得失,以此自終。
目錄
第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
百度云及其他網盤下載地址:點我
轉載于:https://www.cnblogs.com/awesome-share/p/10035264.html
總結
以上是生活随笔為你收集整理的《深入浅出MFC》下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2560):理解虚拟dom和k
- 下一篇: 前端学习(2777):组件之间的通讯方式