visual c++技術是當今使用最為頻繁的程式開發技術之一,一直在開發領域占據著重要的地位。《深入體驗vc++項目開發》通過10個綜合實例的實現過程,詳細講解了visual c++在實踐項目中的綜合運用過程,這些項目從作者的學生時代寫起,到成為項目經理後完成,貫穿作者最重要的開發時期。《深入體驗vc++項目開發》不但適合visual c++的初學者,也適合有一定visual c++基礎的讀者,甚至可以作為有一定造詣的程式設計師的參考書。
基本介紹
- 書名:深入體驗VC++項目體驗
- 作者:管西京
- 類別:網路
- 出版社:清華大學出版社
- 出版時間:2011年7月15日
內容介紹,目錄,
內容介紹
第1章講解了一個飛機飛行遊戲的具體實現流程;第2章講解了一個學校圖書館管理系統的具體實現流程;第3章講解了一個企業人事管理系統的具體實現流程;第4章講解了一個內部網路系統的具體實現流程;第5章講解了一個視頻播放器的具體實現流程;第6章講解了一個專業理財系統的具體實現流程;第7章講解了一個俄羅斯方塊遊戲的具體實現流程;第8章講解了一個某中學成績管理系統的具體實現流程;第9章講解了一個圖像處理系統的具體實現流程;第10章講解了一個視頻監控系統的具體實現流程。在具體講解每個實例時,都遵循了項目的進度,包括從接到項目到具體開發,直到最後的調試和發布。內容循序漸進,並穿插了學習技巧和職場生存法則,引領讀者全面掌握visual c++。
目錄
第1章 飛機飛行遊戲 1
1.1 第一個項目 2
1.1.1 老師的作業 2
1.1.2 準備工作 2
1.2 分析電腦遊戲 3
1.3 分析遊戲的基本流程 3
1.4 分析遊戲元素 4
1.5 分析遊戲層次 5
1.6 項目分析 6
1.6.1 遊戲的角色 6
1.6.2 遊戲界面表現 7
1.6.3 選擇工具 7
1.7 具體編碼 11
1.7.1 實現相關點陣圖 11
1.7.2 變數與函式 12
1.7.3 實現全螢幕 13
1.7.4 類初始化 14
1.7.5 實現具體顯示界面 15
1.7.6 信息提示 17
.1.7.7 和時間段相關的操作 17
1.7.8 鍵盤操作 18
1.7.9 我方發射子彈 20
1.7.10 敵機出現 22
1.7.11 敵機發射子彈 22
1.7.12 敵機子彈移動 23
1.7.13 火力實現 24
1.8 最後的戰役——測試運行 25
1.9 我的總結 26
第2章 學校圖書館管理系統 29
2.1 第一個盈利項目 30
2.1.1 會長來訪 30
2.1.2 組建團隊 30
2.1.3 小會議 31
2.2 系統概述和總體設計 32
2.2.1 系統需求分析 32
2.2.2 系統運行流程 33
2.3 資料庫設計 33
2.3.1 後台資料庫及資料庫訪問接口的選擇 33
2.3.2 資料庫結構的設計 34
2.4 系統框架設計 36
2.4.1 創建工程及設計主界面 36
2.4.2 為資料庫表添加對應的類 38
2.4.3 系統登錄模組設計 43
2.5 基本信息管理模組 46
2.5.1 院系信息管理 46
2.5.2 專業信息管理 51
2.5.3 學生信息管理 55
2.5.4 圖書信息管理 57
2.6 用戶管理模組 60
2.6.1 用戶編輯對話框 60
2.6.2 用戶管理對話框 61
2.6.3 修改密碼對話框 62
2.7 圖書借閱和歸還模組 64
2.7.1 圖書借閱 65
2.7.2 圖書歸還 67
2.7.3 圖書借閱與歸還管理 68
2.8 測試 69
2.8.1 系統運行預覽 69
2.8.2 驗收 70
2.8.3 我的總結 71
第3章 企業人事管理系統 73
3.1 踏上求職路 74
3.1.1 寫求職信 74
3.1.2 隨遇而安 75
3.2 踏入職場 75
3.3 第一個項目 76
3.3.1 我的任務 76
3.3.2 規劃流程 77
3.4 需求分析 77
3.4.1 系統分析 77
3.4.2 系統目標 77
3.5 模組劃分 78
3.6 搭建開發環境 79
3.7 設計資料庫 79
3.7.1 e-r實體圖 79
3.7.2 設計數據表 80
3.8 編碼工作 85
3.8.1 設計員工模組 85
3.8.2 考勤模組 96
3.8.3 設計工資模組 104
3.8.4 用戶管理模組 109
3.8.5 資料庫備份模組 111
3.8.6 資料庫還原模組 112
3.8.7 用戶登錄模組 113
3.9 測試 114
3.10 和hr的談話 115
3.11 我的總結 116
3.12 談試用期的表現 117
第4章 內部網路系統 119
4.1 了解公司的組織結構 120
4.1.1 公司的現狀 120
4.1.2 我的開發部 120
4.2 新的項目 121
4.2.1 早會的任務 121
4.2.2 初見客戶 121
4.2.3 我們的團隊 121
4.3 項目規劃分析 122
4.3.1 分析ping模組 122
4.3.2 tcp模組分析 123
4.4 第二階段的工作 124
4.4.1 功能模組設計 125
4.4.2 設計數據結構 127
4.4.3 規劃項目函式 129
4.5 第三階段 131
4.5.1 收集資料 131
4.5.2 預處理 134
4.5.3 初始化處理 136
4.5.4 控制模組 136
4.5.5 數據報解讀處理 139
4.5.6 ping測試處理 141
4.5.7 主函式 143
4.6 還是第三階段 144
4.6.1 伺服器端 144
4.6.2 客戶端 150
4.7 新的要求 154
4.8 項目調試 154
4.9 淺談客戶相處之道 156
4.10 我的總結 156
第5章 視頻播放器 159
5.1 同事們的聚會 160
5.2 新的項目 160
5.2.1 申請休假失敗 160
5.2.2 新的項目 160
5.2.3 我們的團隊 160
5.3 項目規劃分析 161
5.4 搭建開發環境 163
5.4.1 搭建directshow sdk開發環境 163
5.4.2 安裝visual studio 2005開發環境 165
5.5 設計filtergraph結構 168
5.5.1 設計filtergraph結構 168
5.5.2 實現graphedit模擬 168
5.6 設計界面 171
5.7 prb的編碼過程 177
5.7.1 cdxgraph類初始化 177
5.7.2 創建graph濾波器鍊表 179
5.7.3 設計圖像視窗 181
5.7.4 媒體播放控制 182
5.7.5 視頻全螢幕顯示 185
5.7.6 抓圖保存 186
5.8 我的編碼過程 187
5.8.1 打開一個媒體檔案 187
5.8.2 渲染媒體檔案 188
5.8.3 播放媒體檔案 189
5.8.4 實現控制功能 190
5.8.5 實現拖放功能 194
5.8.6 實現音量調節功能 195
5.8.7 添加背景圖片 196
5.9 項目調試 197
5.9.1 系統調試 197
5.9.2 驗收 198
5.10 我的總結——同事之間的那些事 198
5.11 同事之間的錯誤 198
第6章 專業理財系統 201
6.1 慶功晚會 202
6.2 新的挑戰 202
6.2.1 新招的實習生 202
6.2.2 新的項目 202
6.2.3 我們的團隊 203
6.3 系統分析 204
6.3.1 需求分析 204
6.3.2 可行性分析 204
6.4 系統設計 205
6.4.1 系統目標 205
6.4.2 系統模組結構 206
6.5 設計數據結構,規劃系統框架 207
6.5.1 設計資料庫 208
6.5.2 設計系統框架 209
6.6 看prb的編碼過程 215
6.6.1 用戶管理模組 215
6.6.2 收支信息模組 222
6.7 我的任務 232
6.7.1 功能分析 232
6.7.2 設計界面 232
6.7.3 編碼實現 233
6.8 項目調試 237
6.8.1 系統調試 237
6.8.2 驗收 240
6.9 我的總結——上下級相處的那些事 240
第7章 俄羅斯方塊遊戲 243
7.1 生活的壓力 244
7.2 同學來訪 244
7.2.1 新的項目 244
7.2.2 我們的團隊 245
7.3 系統分析 245
7.3.1 功能分析 246
7.3.2 結構規劃 246
7.3.3 核心處理模組分析 247
7.3.4 設計界面 248
7.4 編碼工作第一步——單機版 249
7.4.1 準備素材 249
7.4.2 添加新類 250
7.4.3 系統類 250
7.4.4 編碼實現函式 251
7.5 編碼工作第二步——對戰版 266
7.6 編碼工作第三步——配合版 272
7.7 編碼工作第四步——網路版 278
7.8 項目調試 285
7.8.1 系統調試 285
7.8.2 驗收 287
7.9 代碼封裝很簡單 287
7.10 我的總結——關於私活那些事 288
第8章 某中學成績管理系統 289
8.1 客戶的來訪 290
8.2 一個私單 290
8.3 系統分析 291
8.3.1 開發背景 291
8.3.2 需求分析 291
8.3.3 功能描述 291
8.4 模組規劃 292
8.5 搭建資料庫 293
8.6 前期編碼——設計公共類 298
8.7 設計界面 299
8.8 後期編碼 300
8.8.1 科目信息管理模組 300
8.8.2 學生信息管理模組 307
8.8.3 錄入學生成績模組 311
8.8.4 成績等級管理模組 314
8.8.5 學生違規查詢模組 323
8.8.6 報表列印模組 326
8.9 項目調試 331
8.9.1 系統調試 331
8.9.2 驗收 333
8.10 我的總結——拼搏的毅力和耐心真的很重要 333
8.11 知道跳槽的成本嗎 334
第9章 圖像處理系統 335
9.1 忙碌而充實的一年 336
9.2 成立自己的團隊 336
9.3 第一個單子 337
9.4 需求分析 338
9.5 功能模組劃分 338
9.6 設計界面 339
9.7 設計類 342
9.7.1 編寫點陣圖類 342
9.7.2 ccolorgrid類 345
9.7.3 cpaintparambar類 346
9.7.4 主框架類 347
9.7.5 繪圖工具條類 347
9.8 具體編碼 349
9.8.1 檔案處理模組 349
9.8.2 工具條和狀態條 351
9.8.3 橡皮筋矩形選塊和畫圖 357
9.8.4 繪製曲線和寫字 367
9.8.5 拖動一個選塊 377
9.8.6 貼上板 379
9.9 項目調試 382
9.9.1 系統調試 382
9.9.2 驗收 384
9.10 我的一些經驗 384
9.11 創業的四條經驗 385
第10章 視頻監控系統 387
10.1 程式設計師很不容易 388
10.2 艱巨的項目 388
10.3 系統分析 389
10.3.1 背景 389
10.3.2 可行性分析 390
10.3.3 編寫項目計畫書 390
10.4 系統設計 391
10.5 資料庫設計 393
10.5.1 資料庫分析 393
10.5.2 資料庫概念設計 393
10.5.3 資料庫邏輯結構設計 393
10.6 設計公共類 394
10.6.1 實現按鈕修飾 394
10.6.2 特殊訊息處理 397
10.6.3 修飾子類化處理 398
10.6.4 定義安裝鉤子的函式 399
10.6.5 定義卸載鉤子的函式 400
10.7 設計主窗體 400
10.8 具體編碼 417
10.8.1 管理員登錄模組 417
10.8.2 監控管理模組 419
10.8.3 設計廣角自動監控模組 424
10.8.4 視頻回放模組 430
10.9 設計窗體布局 433
10.10 項目調試 442
10.10.1 系統調試 442
10.10.2 驗收 443
10.11 該怎樣選購監控卡 443
10.12 升職的驚喜 444
10.13 升職的原因 444
10.14 升職的另外三條經驗 445
1.1 第一個項目 2
1.1.1 老師的作業 2
1.1.2 準備工作 2
1.2 分析電腦遊戲 3
1.3 分析遊戲的基本流程 3
1.4 分析遊戲元素 4
1.5 分析遊戲層次 5
1.6 項目分析 6
1.6.1 遊戲的角色 6
1.6.2 遊戲界面表現 7
1.6.3 選擇工具 7
1.7 具體編碼 11
1.7.1 實現相關點陣圖 11
1.7.2 變數與函式 12
1.7.3 實現全螢幕 13
1.7.4 類初始化 14
1.7.5 實現具體顯示界面 15
1.7.6 信息提示 17
.1.7.7 和時間段相關的操作 17
1.7.8 鍵盤操作 18
1.7.9 我方發射子彈 20
1.7.10 敵機出現 22
1.7.11 敵機發射子彈 22
1.7.12 敵機子彈移動 23
1.7.13 火力實現 24
1.8 最後的戰役——測試運行 25
1.9 我的總結 26
第2章 學校圖書館管理系統 29
2.1 第一個盈利項目 30
2.1.1 會長來訪 30
2.1.2 組建團隊 30
2.1.3 小會議 31
2.2 系統概述和總體設計 32
2.2.1 系統需求分析 32
2.2.2 系統運行流程 33
2.3 資料庫設計 33
2.3.1 後台資料庫及資料庫訪問接口的選擇 33
2.3.2 資料庫結構的設計 34
2.4 系統框架設計 36
2.4.1 創建工程及設計主界面 36
2.4.2 為資料庫表添加對應的類 38
2.4.3 系統登錄模組設計 43
2.5 基本信息管理模組 46
2.5.1 院系信息管理 46
2.5.2 專業信息管理 51
2.5.3 學生信息管理 55
2.5.4 圖書信息管理 57
2.6 用戶管理模組 60
2.6.1 用戶編輯對話框 60
2.6.2 用戶管理對話框 61
2.6.3 修改密碼對話框 62
2.7 圖書借閱和歸還模組 64
2.7.1 圖書借閱 65
2.7.2 圖書歸還 67
2.7.3 圖書借閱與歸還管理 68
2.8 測試 69
2.8.1 系統運行預覽 69
2.8.2 驗收 70
2.8.3 我的總結 71
第3章 企業人事管理系統 73
3.1 踏上求職路 74
3.1.1 寫求職信 74
3.1.2 隨遇而安 75
3.2 踏入職場 75
3.3 第一個項目 76
3.3.1 我的任務 76
3.3.2 規劃流程 77
3.4 需求分析 77
3.4.1 系統分析 77
3.4.2 系統目標 77
3.5 模組劃分 78
3.6 搭建開發環境 79
3.7 設計資料庫 79
3.7.1 e-r實體圖 79
3.7.2 設計數據表 80
3.8 編碼工作 85
3.8.1 設計員工模組 85
3.8.2 考勤模組 96
3.8.3 設計工資模組 104
3.8.4 用戶管理模組 109
3.8.5 資料庫備份模組 111
3.8.6 資料庫還原模組 112
3.8.7 用戶登錄模組 113
3.9 測試 114
3.10 和hr的談話 115
3.11 我的總結 116
3.12 談試用期的表現 117
第4章 內部網路系統 119
4.1 了解公司的組織結構 120
4.1.1 公司的現狀 120
4.1.2 我的開發部 120
4.2 新的項目 121
4.2.1 早會的任務 121
4.2.2 初見客戶 121
4.2.3 我們的團隊 121
4.3 項目規劃分析 122
4.3.1 分析ping模組 122
4.3.2 tcp模組分析 123
4.4 第二階段的工作 124
4.4.1 功能模組設計 125
4.4.2 設計數據結構 127
4.4.3 規劃項目函式 129
4.5 第三階段 131
4.5.1 收集資料 131
4.5.2 預處理 134
4.5.3 初始化處理 136
4.5.4 控制模組 136
4.5.5 數據報解讀處理 139
4.5.6 ping測試處理 141
4.5.7 主函式 143
4.6 還是第三階段 144
4.6.1 伺服器端 144
4.6.2 客戶端 150
4.7 新的要求 154
4.8 項目調試 154
4.9 淺談客戶相處之道 156
4.10 我的總結 156
第5章 視頻播放器 159
5.1 同事們的聚會 160
5.2 新的項目 160
5.2.1 申請休假失敗 160
5.2.2 新的項目 160
5.2.3 我們的團隊 160
5.3 項目規劃分析 161
5.4 搭建開發環境 163
5.4.1 搭建directshow sdk開發環境 163
5.4.2 安裝visual studio 2005開發環境 165
5.5 設計filtergraph結構 168
5.5.1 設計filtergraph結構 168
5.5.2 實現graphedit模擬 168
5.6 設計界面 171
5.7 prb的編碼過程 177
5.7.1 cdxgraph類初始化 177
5.7.2 創建graph濾波器鍊表 179
5.7.3 設計圖像視窗 181
5.7.4 媒體播放控制 182
5.7.5 視頻全螢幕顯示 185
5.7.6 抓圖保存 186
5.8 我的編碼過程 187
5.8.1 打開一個媒體檔案 187
5.8.2 渲染媒體檔案 188
5.8.3 播放媒體檔案 189
5.8.4 實現控制功能 190
5.8.5 實現拖放功能 194
5.8.6 實現音量調節功能 195
5.8.7 添加背景圖片 196
5.9 項目調試 197
5.9.1 系統調試 197
5.9.2 驗收 198
5.10 我的總結——同事之間的那些事 198
5.11 同事之間的錯誤 198
第6章 專業理財系統 201
6.1 慶功晚會 202
6.2 新的挑戰 202
6.2.1 新招的實習生 202
6.2.2 新的項目 202
6.2.3 我們的團隊 203
6.3 系統分析 204
6.3.1 需求分析 204
6.3.2 可行性分析 204
6.4 系統設計 205
6.4.1 系統目標 205
6.4.2 系統模組結構 206
6.5 設計數據結構,規劃系統框架 207
6.5.1 設計資料庫 208
6.5.2 設計系統框架 209
6.6 看prb的編碼過程 215
6.6.1 用戶管理模組 215
6.6.2 收支信息模組 222
6.7 我的任務 232
6.7.1 功能分析 232
6.7.2 設計界面 232
6.7.3 編碼實現 233
6.8 項目調試 237
6.8.1 系統調試 237
6.8.2 驗收 240
6.9 我的總結——上下級相處的那些事 240
第7章 俄羅斯方塊遊戲 243
7.1 生活的壓力 244
7.2 同學來訪 244
7.2.1 新的項目 244
7.2.2 我們的團隊 245
7.3 系統分析 245
7.3.1 功能分析 246
7.3.2 結構規劃 246
7.3.3 核心處理模組分析 247
7.3.4 設計界面 248
7.4 編碼工作第一步——單機版 249
7.4.1 準備素材 249
7.4.2 添加新類 250
7.4.3 系統類 250
7.4.4 編碼實現函式 251
7.5 編碼工作第二步——對戰版 266
7.6 編碼工作第三步——配合版 272
7.7 編碼工作第四步——網路版 278
7.8 項目調試 285
7.8.1 系統調試 285
7.8.2 驗收 287
7.9 代碼封裝很簡單 287
7.10 我的總結——關於私活那些事 288
第8章 某中學成績管理系統 289
8.1 客戶的來訪 290
8.2 一個私單 290
8.3 系統分析 291
8.3.1 開發背景 291
8.3.2 需求分析 291
8.3.3 功能描述 291
8.4 模組規劃 292
8.5 搭建資料庫 293
8.6 前期編碼——設計公共類 298
8.7 設計界面 299
8.8 後期編碼 300
8.8.1 科目信息管理模組 300
8.8.2 學生信息管理模組 307
8.8.3 錄入學生成績模組 311
8.8.4 成績等級管理模組 314
8.8.5 學生違規查詢模組 323
8.8.6 報表列印模組 326
8.9 項目調試 331
8.9.1 系統調試 331
8.9.2 驗收 333
8.10 我的總結——拼搏的毅力和耐心真的很重要 333
8.11 知道跳槽的成本嗎 334
第9章 圖像處理系統 335
9.1 忙碌而充實的一年 336
9.2 成立自己的團隊 336
9.3 第一個單子 337
9.4 需求分析 338
9.5 功能模組劃分 338
9.6 設計界面 339
9.7 設計類 342
9.7.1 編寫點陣圖類 342
9.7.2 ccolorgrid類 345
9.7.3 cpaintparambar類 346
9.7.4 主框架類 347
9.7.5 繪圖工具條類 347
9.8 具體編碼 349
9.8.1 檔案處理模組 349
9.8.2 工具條和狀態條 351
9.8.3 橡皮筋矩形選塊和畫圖 357
9.8.4 繪製曲線和寫字 367
9.8.5 拖動一個選塊 377
9.8.6 貼上板 379
9.9 項目調試 382
9.9.1 系統調試 382
9.9.2 驗收 384
9.10 我的一些經驗 384
9.11 創業的四條經驗 385
第10章 視頻監控系統 387
10.1 程式設計師很不容易 388
10.2 艱巨的項目 388
10.3 系統分析 389
10.3.1 背景 389
10.3.2 可行性分析 390
10.3.3 編寫項目計畫書 390
10.4 系統設計 391
10.5 資料庫設計 393
10.5.1 資料庫分析 393
10.5.2 資料庫概念設計 393
10.5.3 資料庫邏輯結構設計 393
10.6 設計公共類 394
10.6.1 實現按鈕修飾 394
10.6.2 特殊訊息處理 397
10.6.3 修飾子類化處理 398
10.6.4 定義安裝鉤子的函式 399
10.6.5 定義卸載鉤子的函式 400
10.7 設計主窗體 400
10.8 具體編碼 417
10.8.1 管理員登錄模組 417
10.8.2 監控管理模組 419
10.8.3 設計廣角自動監控模組 424
10.8.4 視頻回放模組 430
10.9 設計窗體布局 433
10.10 項目調試 442
10.10.1 系統調試 442
10.10.2 驗收 443
10.11 該怎樣選購監控卡 443
10.12 升職的驚喜 444
10.13 升職的原因 444
10.14 升職的另外三條經驗 445