內容簡介
本書從初學者的角度出發,以通俗易懂的語言,配合豐富多彩的實例,詳細介紹了使用Visual C++ 6.0進行程式開發應該掌握的各方面知識。全書共分20章,包括Visual C++ 6.0集成開發環境,C++語言基礎,語句,面向過程程式設計,面向對象程式設計,對話框應用程式設計,常用控制項,選單,工具列和狀態欄,高級控制項,自定義MFC控制項,文本、圖形、圖像處理,多媒體技術,列印技術,檔案與註冊表操作,ADO編程,動態程式庫,多執行緒程式設計,網路套接字編程,圖書管理系統等。書中所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會Visual C++ 6.0程式開發的精髓,快速提高開發技能。
本書列舉了大量的小型實例、綜合實例和部分項目案例;所附DVD光碟內容有同步視頻講解、實例源程式、“實踐與練習”答案等;本書的服務網站提供了模組庫、案例庫、題庫、素材庫、答疑服務。
本書內容詳盡,實例豐富,非常適合作為編程初學者的學習用書,也適合作為開發人員的查閱、參考資料。
圖書目錄
第1篇 基礎知識
第1章 Visual C++ 6.0集成開發環境 3
視頻講解:27分鐘
1.1 Visual C++ 6.0概述 4
1.2 Visual C++ 6.0開發環境介紹 4
1.2.1 熟悉Visual C++ 6.0 IDE開發環境 4
1.2.2 Visual C++ 6.0 IDE選單介紹 5
1.2.3 Visual C++ 6.0 IDE工具列介紹 11
1.2.4 Visual C++ 6.0工作區視窗介紹 14
1.2.5 Visual C++ 6.0 控制項面板介紹 16
1.2.6 Visual C++ 6.0輸出視窗介紹 16
1.3 設定自己的開發環境 17
1.3.1 自定義工具列 17
1.3.2 自定義代碼編輯視窗 18
1.4 創建一個簡單的程式 20
1.4.1 創建工程 20
1.4.2 編輯程式 22
1.5 小結 23
第2章 C++語言基礎 25
視頻講解:48分鐘
2.1 C++檔案結構 26
2.1.1 頭檔案的構成 26
2.1.2 源檔案的構成 26
2.2 C++語言基本要素 27
2.2.1 標識符 27
2.2.2 關鍵字 27
2.2.3 常量 28
2.2.4 變數 28
2.2.5 變數的存儲類型 29
2.3 數據類型 31
2.3.1 數值類型 31
2.3.2 字元類型 33
2.3.3 數組類型 33
2.3.4 布爾類型 35
2.3.5 枚舉類型 35
2.3.6 結構體類型 37
2.3.7 共用體類型 40
2.3.8 指針類型 40
2.3.9 引用類型 44
2.3.10 自定義類型 45
2.4 運算符 45
2.4.1 賦值運算符 45
2.4.2 算術運算符 47
2.4.3 關係運算符 48
2.4.4 邏輯運算符 49
2.4.5 自增自減運算符 50
2.4.6 位運算符 51
2.4.7 sizeof運算符 54
2.4.8 new和delete運算符 56
2.4.9 結合性與優先權 57
2.5 表達式 58
2.5.1 逗號表達式 59
2.5.2 三目元表達式 59
2.6 程式編碼規範 60
2.6.1 合理使用注釋 60
2.6.2 統一代碼縮進 62
2.6.3 代碼換行 63
2.6.4 合理使用空格 63
2.6.5 命名規則 64
2.7 小結 65
2.8 實踐與練習 66
第3章 語句 67
視頻講解:25分鐘
3.1 語句的構成 68
3.2 複合語句 68
3.3 分支語句 70
3.3.1 if語句 70
3.3.2 switch語句 72
3.4 循環語句 75
3.4.1 for語句 75
3.4.2 while語句 78
3.4.3 do while語句 79
3.4.4 嵌套循環語句 80
3.5 跳轉語句 80
3.5.1 goto語句 81
3.5.2 return語句 82
3.5.3 exit語句 83
3.6 小結 84
3.7 實踐與練習 84
第4章 面向過程程式設計 85
視頻講解:30分鐘
4.1 函式 86
4.1.1 定義和調用函式 86
4.1.2 設定默認值參數 89
4.1.3 設定數組參數 90
4.1.4 設定指針/引用參數 93
4.1.5 省略號參數 95
4.1.6 內聯函式 97
4.1.7 重載函式 97
4.1.8 函式遞歸調用 100
4.1.9 函式指針 101
4.2 作用域和生命期 103
4.2.1 局部作用域 104
4.2.2 全局作用域 105
4.2.3 定義和使用命名空間 106
4.3 函式模板 111
4.3.1 定義和使用函式模板 112
4.3.2 重載函式模板 113
4.4 小結 114
4.5 實踐與練習 114
第5章 面向對象程式設計 115
視頻講解:44分鐘
5.1 類和對象 116
5.1.1 類的定義 116
5.1.2 類成員的訪問 118
5.1.3 構造函式和析構函式 120
5.1.4 內聯成員函式 126
5.1.5 靜態類成員 128
5.1.6 隱藏的this指針 131
5.1.7 運算符重載 132
5.1.8 友元類和友元方法 136
5.1.9 類的繼承 140
5.1.10 類域 151
5.1.11 嵌套類 152
5.1.12 局部類 154
5.2 類模板 155
5.2.1 類模板的定義及套用 155
5.2.2 定義類模板的靜態數據成員 160
5.3 異常處理 161
5.3.1 異常捕捉語句 161
5.3.2 拋出異常 162
5.4 小結 164
5.5 實踐與練習 164
第2篇 核心技術
第6章 對話框應用程式設計 167
視頻講解:54分鐘
6.1 構建應用程式 168
6.1.1 構建對話框應用程式 168
6.1.2 構建單文檔/視圖應用程式 168
6.1.3 構建多文檔/視圖應用程式 171
6.2 對話框的創建及顯示 171
6.2.1 創建對話框 172
6.2.2 顯示對話框 172
6.3 對話框屬性設定 174
6.3.1 設定對話框的標題 174
6.3.2 設定對話框的框線風格 175
6.3.3 使用對話框關聯選單 175
6.3.4 設定對話框字型 176
6.4 在對話框中操作控制項 176
6.4.1 在對話框中使用控制項 176
6.4.2 控制項對齊方式 177
6.4.3 為控制項關聯變數 179
6.5 添加對話框成員及成員函式 180
6.5.1 添加普通成員及成員函式 181
6.5.2 添加訊息處理函式 182
6.5.3 手動添加命令訊息處理函式 182
6.6 訊息對話框 183
6.7 Windows通用對話框 185
6.7.1 使用“檔案”對話框打開和保存檔案 185
6.7.2 使用“字型”對話框設定文本字型 187
6.7.3 使用“顏色”對話框設定文本背景
顏色 189
6.7.4 使用“查找/替換”對話框在文本中替換
字元串 191
6.7.5 使用“列印”對話框進行列印 194
6.7.6 使用“檔案瀏覽”對話框選擇資料夾 196
6.8 小結 197
6.9 實踐與練習 198
第7章 常用控制項 199
視頻講解:45分鐘
7.1 靜態文本控制項 200
7.1.1 設定顯示文本 200
7.1.2 設定文本顏色 201
7.1.3 模擬按鈕控制項的單擊事件 201
7.2 編輯框控制項 202
7.2.1 設定密碼編輯框 202
7.2.2 設定唯讀編輯框 202
7.2.3 設定編輯框多行顯示 203
7.2.4 設定編輯框按Enter鍵換行 203
7.2.5 使用編輯框控制項錄入數據 203
7.3 圖像控制項 204
7.3.1 通過屬性顯示點陣圖 204
7.3.2 設定框線顏色和填充顏色 204
7.3.3 居中顯示點陣圖資源 205
7.4 按鈕控制項 205
7.4.1 使用按鈕控制項顯示圖示 205
7.4.2 使用按鈕控制項處理用戶操作 206
7.5 複選框控制項 206
7.5.1 設定複選框控制項的選中狀態 207
7.5.2 使用複選框控制項統計信息 207
7.6 單選按鈕控制項 209
7.6.1 為單選按鈕控制項分組 209
7.6.2 獲得被選擇的單選按鈕的文本 209
7.7 組合框控制項 210
7.7.1 設定控制項風格 211
7.7.2 調整列表部分的顯示大小 211
7.7.3 通過屬性插入數據 211
7.7.4 調整數據顯示順序 212
7.7.5 獲得選擇的數據 212
7.8 列表框控制項 213
7.8.1 在指定位置插入文本 213
7.8.2 避免插入重複數據 214
7.8.3 實現複選數據功能 216
7.9 進度條控制項 217
7.9.1 設定顯示風格 217
7.9.2 設定進度條的範圍 217
7.10 小結 218
7.11 實踐與練習 218
第8章 選單 219
視頻講解:26分鐘
8.1 選單資源設計 220
8.2 選單項的命令處理 222
8.3 動態創建選單 223
8.4 創建彈出式選單 225
8.5 創建圖示選單 227
8.6 小結 233
8.7 實踐與練習 233
第9章 工具列和狀態欄 235
視頻講解:23分鐘
9.1 工具列設計 236
9.1.1 工具列資源設計 236
9.1.2 工具列的命令處理 237
9.1.3 動態創建工具列 238
9.1.4 設定工具列按鈕提示 243
9.1.5 設計XP風格工具列 245
9.2 狀態欄設計 247
9.2.1 創建狀態欄 247
9.2.2 在狀態欄中顯示控制項 250
9.3 小結 251
9.4 實踐與練習 251
第10章 高級控制項 253
視頻講解:32分鐘
10.1 圖像列表控制項 254
10.1.1 創建圖像列表 254
10.1.2 將圖像繪製到程式中 255
10.2 列表視圖控制項 256
10.2.1 設定顯示風格 256
10.2.2 設計登錄視窗 257
10.2.3 將數據載入到列表 258
10.2.4 具有點陣圖背景的控制項 261
10.2.5 動態創建列表視圖控制項 263
10.3 樹控制項 264
10.3.1 動態創建樹控制項 264
10.3.2 帶複選功能的樹控制項 267
10.3.3 可編輯節點的樹控制項 270
10.4 標籤控制項 272
10.4.1 設定顯示方式 272
10.4.2 圖示標籤控制項 272
10.4.3 設計程式模組 274
10.5 套用工具提示控制項 276
10.6 小結 279
10.7 實踐與練習 279
第11章 自定義MFC控制項 281
視頻講解:44分鐘
11.1 自定義編輯框控制項 282
11.1.1 數字編輯框 282
11.1.2 特殊文本顏色編輯框 283
11.1.3 點陣圖背景編輯框 285
11.2 自定義按鈕控制項 287
11.2.1 圖示按鈕 287
11.2.2 熱點按鈕 290
11.2.3 圓形按鈕 294
11.3 點陣圖背景樹控制項 296
11.4 三態效果複選框控制項 299
11.5 小結 301
11.6 實踐與練習 301
第12章 文本、圖形、圖像處理 303
視頻講解:40分鐘
12.1 GDI概述 304
12.1.1 設備上下文 304
12.1.2 GDI對象 305
12.2 文本輸出 306
12.2.1 在具體位置和區域中輸出文本 306
12.2.2 利用定位點控制文本輸出 308
12.2.3 設定字型及文本顏色 309
12.2.4 在路徑中輸出文本 312
12.2.5 在圖像背景上輸出透明文本 313
12.3 繪製圖形 314
12.3.1 利用線條繪製多邊形 314
12.3.2 直接繪製多邊形 316
12.3.3 繪製控制項外觀 318
12.3.4 填充圖形區域 319
12.4 圖像顯示 321
12.4.1 在設備上下文中繪製圖像 321
12.4.2 從磁碟中載入圖像到視窗中 324
12.4.3 點陣圖檔案分析 326
12.4.4 根據點陣圖數據直接繪圖 328
12.4.5 顯示JPEG圖像 330
12.5 GDI+圖像編程 331
12.5.1 在Visual C++ 6.0中使用GDI+ 332
12.5.2 利用GDI+實現圖像類型轉換 332
12.5.3 使用GDI+顯示GIF圖像 336
12.6 小結 338
12.7 實踐與練習 339
第3篇 高級套用
第13章 多媒體技術 343
視頻講解:33分鐘
13.1 音頻處理技術 344
13.1.1 載入應用程式Wave資源 344
13.1.2 播放WAV檔案 345
13.1.3 設計音頻播放器 349
13.2 視頻處理技術 351
13.2.1 使用控制項播放AVI檔案 351
13.2.2 使用函式播放AVI檔案 352
13.2.3 將點陣圖組合為AVI檔案 354
13.2.4 視頻檔案壓縮處理 359
13.3 小結 367
13.4 實踐與練習 367
第14章 列印技術 369
視頻講解:32分鐘
14.1 列印基礎 370
14.1.1 映射模式 370
14.1.2 獲取印表機設備上下文 370
14.2 文檔/視圖應用程式列印 371
14.3 對話框應用程式列印 373
14.3.1 列印對話框中的表格 373
14.3.2 列印磁碟中的檔案 375
14.4 列印設定 377
14.4.1 設定列印方向 377
14.4.2 設定列印頁面 380
14.5 修改列印預覽 383
14.6 小結 386
14.7 實踐與練習 386
第15章 檔案與註冊表操作 387
視頻講解:26分鐘
15.1 普通檔案操作 388
15.1.1 套用C函式進行檔案操作 388
15.1.2 使用CFile類進行檔案操作 391
15.1.3 使用CFileFind類進行檔案查找 396
15.2 串列化 400
15.2.1 串列化基礎 400
15.2.2 編寫串列化類 402
15.3 INI檔案操作 404
15.3.1 INI檔案基本結構 404
15.3.2 讀寫INI檔案 405
15.4 註冊表操作 408
15.4.1 使用API函式操作註冊表 409
15.4.2 基於CRegKey類操作註冊表 414
15.5 小結 417
15.6 實踐與練習 417
第16章 ADO編程 419
視頻講解:22分鐘
16.1 ADO編程基礎 420
16.1.1 ADO概述 420
16.1.2 在Visual C++中套用ADO技術 420
16.2 ADO對象 420
16.2.1 ADO連線對象 421
16.2.2 ADO記錄集對象 423
16.2.3 ADO命令對象 427
16.2.4 ADO參數對象 428
16.3 ADO對象套用 429
16.3.1 封裝ADO對象 430
16.3.2 使用ADO對象添加、修改、刪除
數據 432
16.3.3 使用ADO對象檢索數據 436
16.4 小結 438
16.5 實踐與練習 438
第17章 動態程式庫 439
視頻講解:23分鐘
17.1 動態程式庫基礎 440
17.1.1 動態程式庫特點 440
17.1.2 動態程式庫的訪問 440
17.1.3 查看動態程式庫 441
17.2 創建和使用Win32動態程式庫 442
17.2.1 創建動態程式庫 442
17.2.2 調用動態程式庫 444
17.2.3 向動態程式庫中添加C++類和資源 445
17.2.4 訪問動態程式庫中的C++類和資源 446
17.2.5 使用動態程式庫設計多國語言的套用
程式 448
17.3 小結 452
17.4 實踐與練習 452
第18章 多執行緒程式設計 453
視頻講解:30分鐘
18.1 執行緒概述 454
18.1.1 理解Windows核心對象 454
18.1.2 理解進程和執行緒 454
18.2 執行緒的創建 454
18.2.1 使用CreateThread函式創建執行緒 455
18.2.2 使用_beginthreadex函式創建執行緒 456
18.2.3 使用AfxBeginThread函式創建執行緒 457
18.2.4 套用MFC類庫創建執行緒 459
18.3 執行緒的掛起、喚醒與終止 462
18.4 執行緒同步 464
18.4.1 多執行緒潛在的危險 465
18.4.2 使用事件對象實現執行緒同步 466
18.4.3 使用信號量對象實現執行緒同步 469
18.4.4 使用臨界區對象實現執行緒同步 470
18.4.5 使用互斥對象實現執行緒同步 473
18.5 小結 475
18.6 實踐與練習 475
第19章 網路套接字編程 477
視頻講解:47分鐘
19.1 計算機網路基礎 478
19.1.1 OSI參考模型 478
19.1.2 IP位址 479
19.1.3 地址解析 479
19.1.4 域名系統 480
19.1.5 TCP/IP協定 481
19.1.6 連線埠 482
19.2 套接字概述 483
19.2.1 套接字概述 483
19.2.2 網路位元組順序 483
19.2.3 套接字I/O模式 483
19.3 套接字函式 484
19.3.1 套接字函式介紹 484
19.3.2 基於套接字函式的網路聊天系統 489
19.4 MFC套接字編程 494
19.4.1 CAsyncSocket類 495
19.4.2 CSocket類 499
19.4.3 基於TCP協定的網路聊天室系統 500
19.5 小結 506
19.6 實踐與練習 506
第4篇 項目實戰
第20章 圖書管理系統 509
視頻講解:1小時25分鐘
20.1 系統分析 510
20.1.1 需求分析 510
20.1.2 可行性分析 510
20.1.3 編寫項目計畫書 511
20.2 系統設計 513
20.2.1 系統目標 513
20.2.2 系統功能結構 513
20.2.3 業務流程圖 514
20.3 資料庫設計 514
20.3.1 資料庫分析 514
20.3.2 創建資料庫 515
20.3.3 創建數據表 516
20.4 創建工程 518
20.5 公共類設計 519
20.5.1 自繪選單類CMyCoolMenu 519
20.5.2 自定義編輯框類CKeyEdit 524
20.5.3 自定義列表視圖類CCustomGrid 526
20.6 啟動界面的設計 528
20.6.1 啟動界面設計 528
20.6.2 啟動界面的淡入淡出效果 528
20.7 登錄對話框設計 529
20.7.1 登錄對話框的界面設計 530
20.7.2 設定按鈕顯示點陣圖 530
20.7.3 設定按Enter鍵移動焦點 531
20.7.4 設定“登錄”按鈕功能 531
20.8 主窗體設計 532
20.8.1 選單設計 533
20.8.2 工具列設計 533
20.8.3 主窗體界面設計 534
20.9 “基本信息管理”模組設計 535
20.9.1 “基本信息管理模組”界面
設計 535
20.9.2 設定選項卡 535
20.9.3 初始化標籤控制項 541
20.9.4 設定按鈕功能 541
20.10 “庫存信息管理”模組設計 542
20.10.1 “庫存信息管理”模組界面設計 542
20.10.2 設定選項卡 543
20.11 “查詢管理”模組設計 550
20.11.1 “查詢管理”模組界面設計 551
20.11.2 設定選項卡 551
20.12 運行項目 556
20.13 開發常見問題與解決 558
20.13.1 書寫錯誤的函式名 558
20.13.2 使用自定義類時導入頭檔案 558
20.13.3 禁止按Enter鍵關閉視窗功能 559
20.13.4 截獲按Enter鍵後的潛在問題 559
20.13.5 數據添加時欄位大小越界 560
20.13.6 如何調用文檔/視圖結構列印 560
20.14 小結 562