第1章 微軟基礎類庫MFC與應用程序框架
1.1 微軟基礎類庫MFC
1.1.1 一個簡單的MFC程序
1.1.2 創(chuàng)建Windows程序
1.1.3 MFC類庫結構
1.1.4 源程序分析
1.1.5 應用程序對象
1.1.6 窗口對象
1.1.7 靜態(tài)文本控件
1.1.8 消息映射
1.1.9 窗口消息
1.2 MFC應用程序框架
1.2.1 應用程序向導AppWizard
1.2.2 使用項目工作區(qū)
1.3 MFC應用程序框架與win32程序的關聯
1.3.1 MFC應用程序框架對Win32程序的封裝
1.3.2 MFC應用程序的基本類
1.4 消息路由與自定義類的消息處理
1.4.1 基礎知識
1.4.2 應用類的Run()函數
1.4.3 SendMessage()和PostMessage()函數
1.4.4 消息映射表
1.4.5 尋找消息處理函數
1.4.6 處理消息的路徑
1.4.7 自定義消息處理
1.4.8 綜合實例:自定義消息處理
小結
習題
第2章 對話框與控件編程
2.1 消息對話框
2.2 對話框的創(chuàng)建與使用流程
2.2.1 創(chuàng)建模態(tài)對話框
2.2.2 創(chuàng)建對話框類
2.2.3 向程序中添加代碼
2.2.4 消息響應函數
2.2.5 數據交換和檢驗
2.3 非模態(tài)對話框
2.4 通用對話框
2.5 屬性對話框
2.5.1 CPropertySheet類
2.5.2 創(chuàng)建屬性頁對話框
2.6 常用控件
2.6.1 Picture控件
2.6.2 Edit控件
2.6.3 Spin控件
2.6.4 ComboBox控件
2.6.5 Slider控件
2.6.6 Horizonial/Vertical ScrollBar控件
2.6.7 Tab控件
2.6.8 Tree控件
2.6.9 List控件
2.6.10 Progress控件
2.6.11 Animate控件
2.7 對話框綜合實例
2.7.1 設計目標
2.7.2 設計思路
2.7.3 實現步驟
小結
習題
第3章 文檔、視圖與框架窗口
3.1 框架窗口
3.1.1 主框架窗口和文檔窗口
3.1.2 文檔類和視圖類
3.2 理解文檔、視圖和框架
3.2.1 基本概念
3.2.2 文檔及視圖結構
3.2.3 單文檔應用的執(zhí)行過程
3.2.4 文檔、視圖和框架窗口之間的相互作用
3.3 文檔一視圖結構中的用戶數據存儲
3.3.1 文檔一視圖結構中的用戶數據
3.3.2 數據流層分析
3.3.3 構建用戶數據結構
3.4 在文檔類中創(chuàng)建用戶數據操作平臺
3.4.1 頭文件的作用
3.4.2 提供用戶數據
3.5 創(chuàng)建用戶界面交互平臺
3.5.1 設計用戶界面
3.5.2 設置控件屬性
3.5.3 添加成員變量
3.5.4 數據交換與數據校驗機制
3.5.5 程序運行之前的準備
3.5.6 【輸入】按鈕的處理
3.5.7 【輸出】按鈕的處理
3.6 對象的持久性機制
3.6.1 序列化操作機制
3.6.2 實現對象的序列化
3.7 MFC中的集合類
3.7.1 集合類
3.7.2 如何選用MFC集合類
3.7.3 模板類和非模板類“
3.7.4 使用CObList集合類實現隊列操作
3.7.5 使用鏈式存儲結構存儲用戶定義數據
3.7.6 鏈式存儲
3.7.7 映象集合類及其使用
3.7.8 “排課表”設計
3.8 用戶自定義類與消息映射
3.8.1 添加消息映射機制
3.8.2 消息路由
3.9 綜合實例
3.9.1 構建通訊錄數據結構
3.9.2 動態(tài)數組
3.9.3 實現過程
3.10 文檔視窗的結合
3.10.1 了解文檔一視圖結構
3.10.2 文檔一視圖結構之間的關系
3.10.3 一般視圖類
3.10.4 視圖之間相互作用的成員函數
3.10.5 文檔視圖實例
3.11 一檔多視
3.11.1 一檔多視的構成
3.11.2 實例:一檔多視圖
3.11.3 實現一檔多視
3.11.4 切換沒有切分的視圖類
3.12 多檔多視
3.12.1 設計思路
3.12.2 實現步驟
3.12.3 多文檔應用程序框架的多檔多視
3.12.4 多文檔應用程序中的各子窗口的交互
3.12.5 編制基于多文檔的應用程序
小結
習題
第4章 繪圖與打印
4.1 MFC繪圖要素
4.1.1 畫布——設備描述表類(CDC)
4.1.2 繪制圖形——圖形對象類(CGdiObject)
4.1.3 獲取設備描述表對象
4.1.4 創(chuàng)建CPen對象
4.1.5 創(chuàng)建CBrush對象
4.1.6 創(chuàng)建CFont對象
4.1.7 設置繪圖坐標
4.1.8 工作區(qū)坐標系統(tǒng)
4.1.9 其他繪圖屬性
4.2 繪圖操作
4.2.1 輸出文本
4.2.2 繪圖操作
4.2.3 繪圖步驟
4.2.4 實例——創(chuàng)建畫圖程序
4.3 位圖處理
4.3.1 CBitmap類
4.3.2 顯示GDI位圖
4.3.3 實例
4.4 綜合實例:編寫繪圖程序
小結
習題
第5章 數據庫編程
5.1 ODBC數據庫編程
5.1.1 開放數據庫互連(ODBC)
5.1.2 數據源名(DSN)
5.1.3 訪問ODBC數據源
5.1.4 CDatabase類
5.1.5 CRecordset類
5.2 記錄集的建立和關閉
5.3 記錄排序與過濾
5.4 滾動記錄
5.5 修改、添加和刪除記錄
5.5.1 修改記錄
5.5.2 添加記錄
5.5.3 刪除記錄
5.6 CRecordView類
5.7 使用ActiveX控件
5.7.1 Adodc數據控件與DataGrid控件
5.7.2 MSFlexGrid控件
5.8 綜合實例:師資管理信息系統(tǒng)
5.8.1 設計目標
5.8.2 用戶需求分析
5.8.3 數據結構
5.8.4 功能模塊圖
5.8.5 配置ODBC數據源
5.8.6 界面設計
5.8.7 驗證用戶權限代碼設計
5.8.8 初始化主界面代碼設計
5.8.9 單擊TreeView結點事件設計
5.8.10 基本情況列表數據
5.8.11 顯示教師信息
5.8.12 查詢模塊代碼設計
5.8.13 添加記錄
5.8.14 數據編輯代碼設計
5.8.15 修改指定記錄
5.8.16 刪除指定記錄
5.8.17 教籍轉移代碼
5.8.18 年齡職稱表處理
5.8.19 轉儲功能
5.9 ADO數據庫編程
5.9.1 ADO編程步驟
5.9.2 設計應用程序
5.9.3 AD0設計實例
小結
習題
第6章 多線程編程
6.1 多線程基礎
6.1.1 進程與線程
6.1.2 使用Win32函數控制線程對共享資源的訪問
6.2 多線程編程
6.2.1 用戶界面線程
6.2.2 創(chuàng)建用戶界面線程
6.2.3 啟動用戶界面線程
6.2.4 使用用戶界面窗口
6.2.5 工作者線程
6.3 線程的終止
6.3.1 線程的正常終止
6.3.2 線程的異常終止
6.3.3 幾種終止函數的比較
6.4 線程的管理和操作
6.4.1 線程優(yōu)先級
6.4.2 控制運行狀態(tài)
6.4.3 線程之間的通信
6.5 多線程的調試
6.6 多線程實例
小結
習題
第7章 網絡編程
7.1 網絡應用程序結構和TCP/IP協議
7.1.1 網絡通信
7.1.2 TCP/IP協議和TCP/IP參考模型
7.1.3 套接字和端口
7.2 MFC winsock類和winsock編程模型
7.2.1 WinSock和MFC
7.2.2 CSocket類的使用
7.2.3 CSocketFile類和CArchive類
7.2.4 WinSock編程模型
7.3 使用CSocket的聊天服務器
7.3.1 聊天室服務器功能簡介
7.3.2 服務器的工作流程
7.3.3 創(chuàng)建服務器應用程序
7.4 聊天室客戶端的設計
7.4.1 聊天室客戶端功能簡介
7.4.2 客戶端的工作流程
7.4.3 創(chuàng)建客戶端應用程序
小結
習題
第8章 動態(tài)鏈接庫
8.1 動態(tài)鏈接庫與靜態(tài)庫文件
8.2 DLL的兩種動態(tài)鏈接方法
8.3 動態(tài)鏈接庫與可執(zhí)行程序
8.4 動態(tài)鏈接庫編程
8.4.1 動態(tài)鏈接庫的導出函數
8.4.2 實例
8.4.3 隱式調用DLL的實現方法
8.4.4 顯式調用DLL的實現方法
8.5 綜合實例
8.5.1 鉤子概述
8.5.2 線程局部鉤子與系統(tǒng)全局鉤子
8.5.3 鉤子的安裝與卸載
8.5.4 使用鼠標鉤子
8.5.5 使用鍵盤鉤子
小結
附錄A 程序調試
A.1 Visual C++調試環(huán)境
A.1.1 與調試相關的菜單命令
A.1.2 在調試中修改代碼
A.2 控制程序運行
A.3 檢查變量值
參考文獻