《Visual C++應用開發與實踐》系統、全面地介紹了Visual C++軟件開發所涉及的各類知識。全書共分9章,內容包括對話框程序設計,文檔\視圖程序設計,菜單、工具欄和狀態欄,圖形設備接口,多線程,套接字編程,數據庫操作技術,綜合案例——商品銷售管理系統,課程設計——網絡五子棋。全書每章內容都與實例緊密結合,有助于學生理解知識、應用知識,達到學以致用的目的。
本書附有配套DVD光盤,光盤中提供有本書所有實例、實驗、綜合案例和課程設計的源代碼,還提供了制作精良的電子課件PPT、教學錄像和《Visual C++編程詞典(個人版)》體驗版學習軟件。其中,源代碼全部經過精心測試,能夠在Windows XP、Windows 2003、Windows 7系統下編譯和運行。
本書可作為普通高等院校本科計算機專業、軟件學院、高職軟件專業及相關專業的教材,同時也適合Visual C++愛好者,初、中級的軟件開發人員參考使用。
第1章 對話框程序設計
1.1 MFC程序開發概述
1.1.1 MFC類庫的產生與發展
1.1.2 MFC類庫層次
1.1.3 MFC常用數據類型
1.1.4 MFC全局函數
1.2 對話框程序向導
1.2.1 應用向導生成對話框程序
1.2.2 對話框常用屬性
1.2.3 對話框主要方法
1.2.4 添加成員變量和成員函數的方法
1.2.5 手動添加命令消息處理函數
1.3 自定義對話框
1.3.1 創建對話框
1.3.2 顯示對話框
1.4 消息對話框
1.5 常用控件
1.5.1 靜態文本
1.5.2 編輯框控件
1.5.3 圖像控件
1.5.4 按鈕控件
1.5.5 復選框控件
1.5.6 單選按鈕控件
1.5.7 組合框控件
1.5.8 列表框控件
1.6 高級控件
1.6.1 圖像列表控件
1.6.2 列表視圖控件
1.6.3 樹控件
1.6.4 標簽控件
1.7 Windows通用對話框
1.7.1 使用"文件"對話框打開和保存文件
1.7.2 使用"字體"對話框設置文本字體
1.7.3 使用"顏色"對話框設置文本背景顏色
1.8 綜合實例--學生信息管理
知識點提煉
習題
實驗:登錄對話框
實驗目的
實驗內容
實驗步驟
第2章 文檔/視圖程序設計
2.1 構建文檔/視圖應用程序
2.2 文檔、視圖結構的創建
2.2.1 文檔模板的創建
2.2.2 文檔的創建
2.2.3 框架與視圖的創建
2.3 文檔模板
2.3.1 文檔管理器
2.3.2 文檔模板
2.4 文檔對象
2.4.1 文檔對象的主要方法
2.4.2 文檔對象的序列化
2.4.3 文檔的初始化
2.4.4 文檔的命令處理
2.4.5 文檔的銷毀
2.5 視圖對象
2.5.1 視圖對象的主要方法
2.5.2 視圖對象的初始化
2.5.3 視圖的銷毀
2.6 框架對象
2.6.1 框架對象的主要方法
2.6.2 框架的初始化
2.6.3 框架的命令消息處理
2.7 視圖分割
2.7.1 劃分子窗口
2.7.2 任意劃分子窗口
2.8 綜合實例--簡單畫圖程序
2.8.1 實例說明
2.8.2 實例實現
知識點提煉
習題
實驗:文檔/視圖結構的打印
實驗目的
實驗內容
實驗步驟
第3章 菜單、工具欄和狀態欄
3.1 菜單設計
3.1.1 菜單資源設計
3.1.2 菜單項的命令處理
3.1.3 菜單項的更新機制
3.1.4 菜單類的主要方法
3.1.5 使用菜單類創建菜單
3.1.6 設計彈出式菜單
3.2 工具欄設計
3.2.1 工具欄資源設計
3.2.2 工具欄的命令處理
3.2.3 工具欄類(CToolBar)介紹
3.2.4 使用工具欄類創建工具欄
3.2.5 工具欄控制類(CToolBarCtrl)介紹
3.2.6 使用工具欄控制類創建工具欄
3.3 狀態欄設計
3.3.1 狀態欄類(CStatusBar)介紹
3.3.2 使用狀態欄類創建狀態欄
3.3.3 在狀態欄中添加進度條控件
3.3.4 狀態欄控制類(CStatusBarCtrl)介紹
3.3.5 使用狀態欄控制類創建狀態欄
3.4 綜合實例--創建一個包含菜單、工具欄和狀態欄的對話框程序
知識點提煉
習題
實驗:在工具欄中加入控件
實驗目的
實驗內容
實驗步驟
第4章 圖形設備接口
4.1 GDI對象
4.1.1 畫筆CPen
4.1.2 畫刷CBrush
4.1.3 位圖CBitmap
4.1.4 區域CRgn
4.1.5 字體CFont
4.1.6 設備環境CDC
4.1.7 調色板CPalette
4.2 文本輸出
4.2.1 在具體位置和區域中輸出文本
4.2.2 利用制表位控制文本輸出
4.2.3 設置字體及文本顏色
4.3 圖像顯示
4.3.1 在設備上下文中繪制圖像
4.3.2 從磁盤中加載圖像到窗口中
4.4 綜合實例--使控件具有不同的字體
知識點提煉
習題
實驗:可變背景程序
實驗目的
實驗內容
實驗步驟
第5章 多線程
5.1 線程概述
5.1.1 理解Windows內核對象
5.1.2 理解進程和線程
5.2 線程的創建
5.2.1 使用CreateThread函數創建線程
5.2.2 使用_beginthreadex函數創建線程
5.2.3 使用AfxBeginThread函數創建線程
5.2.4 應用MFC類庫創建線程
5.3 線程的掛起、喚醒與終止
5.4 線程同步
5.4.1 多線程潛在的危險
5.4.2 使用事件對象實現線程同步
5.4.3 使用信號量對象實現線程同步
5.4.4 使用臨界區對象實現線程同步
5.4.5 使用互斥對象實現線程同步
5.5 綜合實例--多任務列表
知識點提煉
習題
實驗:使用多線程實現臨時文件清理
實驗目的
實驗內容
實驗步驟
第6章 套接字編程
6.1 計算機網絡基礎
6.1.1 OSI參考模型
6.1.2 IP地址
6.1.3 地址解析
6.1.4 域名系統
6.1.5 TCP/IP協議
6.1.6 端口
6.2 套接字基礎
6.2.1 套接字概述
6.2.2 網絡字節順序
6.2.3 套接字I/O模式
6.2.4 套接字通信過程
6.3 套接字函數
6.3.1 套接字函數介紹
6.3.2 基于套接字函數的網絡聊天系統
6.4 MFC套接字編程
6.4.1 CAsyncSocket類
6.4.2 CSocket類
6.4.3 基于TCP協議的網絡聊天室系統
6.5 綜合實例--實用聊天軟件
6.5.1 界面設計
6.5.2 服務器端程序設計
6.5.3 客戶端程序設計
知識點提煉
習題
實驗:設計文件發送應用程序
實驗目的
實驗內容
實驗步驟
第7章 數據庫操作技術
7.1 數據庫基礎知識
7.1.1 常用數據庫軟件的基本操作
7.1.2 基本SQL語句
7.2 ADO編程基礎
7.2.1 ADO概述
7.2.2 在Visual C++中應用ADO技術
7.3 ADO對象
7.3.1 ADO連接對象
7.3.2 ADO記錄集對象
7.3.3 ADO命令對象
7.3.4 ADO參數對象
7.4 ADO數據庫操作技術
7.4.1 導入ADO動態鏈接庫
7.4.2 使用ADO智能指針
7.4.3 初始化COM環境
7.4.4 連接數據庫
7.4.5 獲取連接數據庫字符串的簡單方法
7.4.6 打開記錄集
7.4.7 對數據庫對象的簡單封裝
7.4.8 遍歷記錄集
7.4.9 獲取記錄集記錄數
7.4.10 向記錄集中添加數據
7.4.11 修改現有記錄
7.4.12 刪除記錄集中指定記錄
7.4.13 使用SQL語句操作數據庫
7.4.14 向數據庫中添加位圖
7.5 常用ADO控件
7.5.1 添加ADO控件
7.5.2 ADO控件舉例
7.6 綜合實例--對數據庫進行增刪改查操作
知識點提煉
習題
實驗:表格控件操作
實驗目的
實驗內容
實驗步驟
第8章 綜合案例--商品銷售管理系統
8.1 需求分析
8.2 總體設計
8.2.1 系統目標
8.2.2 開發及運行環境
8.2.3 系統功能結構圖
8.2.4 業務流程圖
8.3 數據庫設計
8.3.1 數據表概要說明
8.3.2 主要數據表的結構
8.4 公共類設計
8.4.1 設計步驟
8.4.2 代碼分析
8.5 主要功能模塊的設計
8.5.1 主窗體設計
8.5.2 系統登錄模塊設計
8.5.3 操作員管理模塊設計
8.5.4 商品入庫管理模塊設計
8.5.5 銷售管理模塊設計
8.5.6 查詢管理模塊設計
8.5.7 往來賬管理模塊設計
8.6 程序打包與安裝
第9章 課程設計--網絡五子棋
9.1 課程設計目的
9.2 功能描述
9.3 總體設計
9.3.1 構建開發環境
9.3.2 軟件功能結構
9.3.3 業務流程圖
9.4 實現過程
9.4.1 使用TCP協議進行網絡通信
9.4.2 定義網絡通信協議
9.4.3 服務器主窗口設計
9.4.4 棋盤窗口設計
9.4.5 游戲控制窗口設計
9.4.6 對方信息窗口設計
9.4.7 客戶端主窗口設計
9.5 調試運行
9.6 課程設計總結
附錄1 C++語言基礎
A 類和對象概述
B 類的定義
C 類成員的訪問
D 構造函數和析構函數
D.1 構造函數
D.2 析構函數
E 方法重載和運算符重載
E.1 方法重載
E.2 運算符重載
F 虛函數
G this指針
H 繼承
H.1 單繼承
H.2 多繼承
H.3 虛繼承
I 靜態數據成員和靜態方法
I.1 靜態數據成員
I.2 靜態方法
J 友元類和友元函數
J.1 友元類
J.2 友元函數
K 頭文件的重復引用
L 小結
附錄2 在VC中新建及重載類的界面操作