內容簡介
《Visual C++從入門到精通(第5版)》從初學者的角度出發,以通俗易懂的語言,配合豐富多彩的實例,詳細介紹了使用Visual C++ 6.0進行程式開發需要掌握的知識。全書共分20章,包括Visual C++ 6.0集成開發環境,C++語言基礎,語句,面向過程程式設計,面向對象程式設計,對話框應用程式設計,常用控制項,選單,工具列和狀態欄,高級控制項,自定義MFC控制項,文本、圖形、圖像處理,文檔與視圖,列印技術,檔案與註冊表操作,ADO編程,動態程式庫,多執行緒程式設計,網路套接字編程,圖像處理系統。書中所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會Visual C++ 6.0程式開發的精髓,快速提高開發技能。
目錄
第1篇 基礎知識
第1章 Visual C++ 6.0集成開發環境 3
視頻講解:30分鐘
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工作區視窗介紹 13
1.2.5 Visual C++ 6.0 控制項面板介紹 14
1.2.6 Visual C++ 6.0輸出視窗介紹 15
1.3 設定自己的開發環境 16
1.3.1 自定義工具列 16
1.3.2 自定義代碼編輯視窗 17
1.4 創建一個簡單的程式 18
1.4.1 創建工程 18
1.4.2 編輯程式 21
1.5 小結 22
第2章 C++語言基礎 23
視頻講解:1小時40分鐘
2.1 C++檔案結構 24
2.1.1 頭檔案的構成 24
2.1.2 源檔案的構成 24
2.2 C++語言基本要素 25
2.2.1 標識符 25
2.2.2 關鍵字 25
2.2.3 常量 26
2.2.4 變數 26
2.2.5 變數的存儲類型 27
2.3 數據類型 29
2.3.1 數值類型 29
2.3.2 字元類型 30
2.3.3 數組類型 ...
2.3.4布爾類型33
2.3.5枚舉類型33
2.3.6結構體類型34
2.3.7共用體類型37
2.3.8指針類型38
2.3.9引用類型41
2.3.10自定義類型42
2.4運算符43
2.4.1賦值運算符43
2.4.5自增自減運算符47
2.4.6位運算符48
2.4.7sizeof運算符51
2.4.8new和delete運算符52
2.4.9結合性與優先權53
2.5表達式55
2.5.1逗號表達式55
2.5.2三目元表達式56
2.6程式編碼規範56
2.6.1合理使用注釋56
2.6.2統一代碼縮進58
2.6.3代碼換行59
2.6.4合理使用空格60
2.6.5命名規則61
2.7小結62
2.8實踐與練習62
第3章語句63
視頻講解:27分鐘
3.1語句的構成64
3.2複合語句64
3.3分支語句66
3.3.1if語句66
3.3.2switch語句68
3.4循環語句71
3.4.1for語句71
3.4.2while語句74
3.4.3dowhile語句74
3.4.4嵌套循環語句75
3.5跳轉語句76
3.5.1goto語句76
3.5.2return語句77
3.5.3exit語句79
3.6小結79
3.7實踐與練習79
第4章面向過程程式設計81
視頻講解:49分鐘
4.1函式82
4.1.1定義和調用函式82
4.1.2設定默認值參數85
4.1.3設定數組參數86
4.1.4設定指針/引用參數89
4.1.5省略號參數91
4.1.6內聯函式92
4.1.7重載函式93
4.1.8函式遞歸調用96
4.1.9函式指針97
4.2作用域和生命期99
4.2.1局部作用域99
4.2.2全局作用域101
4.2.3定義和使用命名空間102
4.3函式模板107
4.3.1定義和使用函式模板107
4.3.2重載函式模板108
4.4小結109
4.5實踐與練習109
第5章面向對象程式設計111
視頻講解:1小時17分鐘
5.1類和對象112
5.1.1類的定義112
5.1.2類成員的訪問114
5.1.3構造函式和析構函式116
5.1.4內聯成員函式121
5.1.5靜態類成員124
5.1.6隱藏的this指針126
5.1.7運算符重載128
5.1.8友元類和友元方法131
5.1.9類的繼承135
5.1.10類域146
5.1.11嵌套類147
5.1.12局部類149
5.2類模板149
5.2.1類模板的定義及套用149
5.2.2定義類模板的靜態數據成員154
5.3異常處理156
5.3.1異常捕捉語句156
5.3.2拋出異常157
5.4小結159
5.5實踐與練習159
第2篇核心技術
第6章對話框應用程式設計163
視頻講解:1小時28分鐘
6.1構建應用程式164
6.1.1構建對話框應用程式164
6.1.2構建單文檔/視圖應用程式164
6.1.3構建多文檔/視圖應用程式167
6.2對話框的創建及顯示167
6.2.1創建對話框168
6.2.2顯示對話框168
6.3對話框屬性設定170
6.3.1設定對話框的標題170
6.3.2設定對話框的框線風格171
6.3.3使用對話框關聯選單171
6.3.4設定對話框字型172
6.4在對話框中操作控制項172
6.4.1在對話框中使用控制項172
6.4.2控制項對齊方式173
6.4.3為控制項關聯變數175
6.5添加對話框成員及成員函式176
6.5.1添加普通成員及成員函式176
6.5.2添加訊息處理函式177
6.5.3手動添加命令訊息處理函式178
6.6訊息對話框178
6.7Windows通用對話框180
6.7.1使用“檔案”對話框打開和保存檔案180
6.7.2使用“字型”對話框設定文本字型183
6.7.3使用“顏色”對話框設定文本背景顏色184
6.7.4使用“查找/替換”對話框在文本中替換字元串186
6.7.5使用“列印”對話框進行列印189
6.7.6使用“瀏覽資料夾”對話框選擇資料夾191
6.8小結192
6.9實踐與練習192
第7章常用控制項193
視頻講解:51分鐘
7.1靜態文本控制項194
7.1.1設定顯示文本194
7.1.2設定文本顏色194
7.1.3模擬按鈕控制項的單擊事件195
7.2編輯框控制項195
7.2.1設定密碼編輯框196
7.2.2設定唯讀編輯框196
7.2.3設定編輯框多行顯示196
7.2.4設定編輯框按Enter鍵換行197
7.2.5使用編輯框控制項錄入數據197
7.3圖像控制項197
7.3.1通過屬性顯示點陣圖198
7.3.2設定框線顏色和填充顏色198
7.3.3居中顯示點陣圖資源198
7.4按鈕控制項199
7.4.1使用按鈕控制項顯示圖示199
7.4.2使用按鈕控制項處理用戶操作200
7.5複選框控制項200
7.5.1設定複選框控制項的選中狀態200
7.5.2使用複選框控制項統計信息201
7.6單選按鈕控制項202
7.6.1為單選按鈕控制項分組202
7.6.2獲得被選擇的單選按鈕的文本203
7.7組合框控制項204
7.7.1設定控制項風格204
7.7.2調整列表部分的顯示大小204
7.7.3通過屬性插入數據205
7.7.4調整數據顯示順序205
7.7.5獲得選擇的數據205
7.8列表框控制項206
7.8.1在指定位置插入文本207
7.8.2避免插入重複數據208
7.8.3實現複選數據功能209
7.9進度條控制項210
7.9.1設定顯示風格210
7.9.2設定進度條的範圍211
7.10小結211
7.11實踐與練習211
第8章選單213
視頻講解:19分鐘
8.1選單資源設計214
8.2選單項的命令處理216
8.3動態創建選單217
8.4創建彈出式選單219
8.5創建圖示選單221
8.6小結227
8.7實踐與練習227
第9章工具列和狀態欄229
視頻講解:22分鐘
9.1 工具列設計 230
9.1.1 工具列資源設計 230
9.1.2 工具列的命令處理 231
9.1.3 動態創建工具列 232
9.1.4 設定工具列按鈕提示 236
9.2 狀態欄設計 241
9.2.1 創建狀態欄 241
9.2.2 在狀態欄中顯示控制項 243
9.3 小結 245
9.4 實踐與練習 245
第10章 高級控制項 247
視頻講解:46分鐘
10.1 圖像列表控制項 248
10.1.1 創建圖像列表 248
10.1.2 將圖像繪製到程式中 249
10.2 列表視圖控制項 250
10.2.1 設定顯示風格 250
10.2.2 設計登錄視窗 251
10.2.3 將數據載入到列表 252
10.2.4 具有點陣圖背景的控制項 255
10.2.5 動態創建列表視圖控制項 257
10.3 樹控制項 258
10.3.1 動態創建樹控制項 258
10.3.2 帶複選功能的樹控制項 261
10.3.3 可編輯節點的樹控制項 264
10.4 標籤控制項 266
10.4.1 設定顯示方式 266
10.4.2 圖示標籤控制項 266
10.4.3 設計程式模組 268
10.5 套用工具提示控制項 270
10.6 小結 272
10.7 實踐與練習 273
第11章 自定義MFC控制項 275
視頻講解:41分鐘
11.1 自定義編輯框控制項 276
11.1.1 數字編輯框 276
11.1.2 特殊文本顏色編輯框 277
11.1.3 點陣圖背景編輯框 279
11.2 自定義按鈕控制項 280
11.2.1 圖示按鈕 281
11.2.2 熱點按鈕 284
11.2.3 圓形按鈕 288
11.3 點陣圖背景樹控制項 290
11.4 三態效果複選框控制項 292
11.5 小結 294
11.6 實踐與練習 295
第12章 文本、圖形、圖像處理 297
視頻講解:1小時3分鐘
12.1 GDI概述 298
12.1.2 GDI對象 299
12.2 文本輸出 300
12.2.1 在具體位置和區域中輸出文本 300
12.2.2 利用定位點控制文本輸出 302
12.2.3 設定字型及文本顏色 303
12.2.4 在路徑中輸出文本 305
12.2.5 在圖像背景上輸出透明文本 306
12.3 繪製圖形 308
12.3.1 利用線條繪製多邊形 308
12.3.2 直接繪製多邊形 310
12.3.3 繪製控制項外觀 312
12.3.4 填充圖形區域 313
12.4 圖像顯示 315
12.4.1 在設備上下文中繪製圖像 315
12.4.2 從磁碟中載入圖像到視窗中 318
12.4.3 點陣圖檔案分析 319
12.4.4 根據點陣圖數據直接繪圖 321
12.4.5 顯示JPEG圖像 323
12.5 GDI+圖像編程 325
12.5.1 在Visual C++ 6.0中使用GDI+ 325
12.5.2 利用GDI+實現圖像類型轉換 326
12.5.3 使用GDI+顯示GIF圖像 329
12.6 小結 332
12.7 實踐與練習 332
第13章 文檔與視圖 333
視頻講解:30分鐘
13.1 構建文檔/視圖應用程式 334
13.1.1 文檔/視圖結構概述 334
13.1.2 創建文檔/視圖結構應用程式 334
13.2 文檔/視圖結構的創建 335
13.2.1 文檔模板的創建 335
13.2.2 文檔的創建 337
13.2.3 框架與視圖的創建 340
13.3 文檔模板概述 343
13.3.1 文檔管理器 344
13.3.2 文檔模板 347
13.4 文檔對象 348
13.4.1 文檔對象的主要方法 348
13.4.2 文檔的初始化 350
13.4.3 保存文檔 351
13.4.4 文檔的命令處理 351
13.4.5 文檔的銷毀 353
13.5 視圖對象 356
13.5.1 視圖對象的主要方法 356
13.5.2 視圖的初始化 357
13.5.3 視圖的繪製 358
13.5.4 視圖的銷毀 359
13.6 框架視窗 362
13.6.1 框架對象的主要方法 362
13.6.2 框架的初始化 363
13.6.3 命令訊息處理 364
13.7 文檔/視圖的套用 365
13.7.1 實例說明 365
13.7.2 實例實現 366
13.8 術語 369
13.9 小結 370
13.10 實踐與練習 370
第3篇 高級套用
第14章 列印技術 373
視頻講解:26分鐘
14.1 列印基礎 374
14.1.1 映射模式 374
14.1.2 獲取印表機設備上下文 374
14.2 文檔/視圖應用程式列印 375
14.3 對話框應用程式列印 377
14.3.1 列印對話框中的表格 377
14.3.2 列印磁碟中的檔案 379
14.4 列印設定 381
14.4.1 設定列印方向 381
14.4.2 設定列印頁面 384
14.5 修改列印預覽 386
14.6 小結 390
14.7 實踐與練習 390
第15章 檔案與註冊表操作 391
視頻講解:40分鐘
15.1 普通檔案操作 392
15.1.1 套用C函式進行檔案操作 392
15.1.2 使用CFile類進行檔案操作 395
15.1.3 使用CFileFind類進行檔案查找 400
15.2 串列化 403
15.2.1 串列化基礎 404
15.2.2 編寫串列化類 406
15.3 INI檔案操作 408
15.3.1 INI檔案基本結構 408
15.3.2 讀寫INI檔案 408
15.4 註冊表操作 411
15.4.2 基於CRegKey類操作註冊表 417
15.5 小結 420
15.6 實踐與練習 420
第16章 ADO編程 421
視頻講解:31分鐘
16.1 ADO編程基礎 422
16.1.1 ADO概述 422
16.1.2 在Visual C++中套用ADO技術 422
16.2 ADO對象 422
16.2.1 ADO連線對象 423
16.2.2 ADO記錄集對象 425
16.2.3 ADO命令對象 429
16.2.4 ADO參數對象 430
16.3 ADO對象套用 431
16.3.1 封裝ADO對象 432
16.3.2 使用ADO對象添加、修改、刪除數據 434
16.3.3 使用ADO對象檢索數據 438
16.4 小結 440
16.5 實踐與練習 440
第17章 動態程式庫 441
視頻講解:21分鐘
17.1 動態程式庫基礎 442
17.1.1 動態程式庫的特點 442
17.1.2 動態程式庫的訪問 442
17.1.3 查看動態程式庫 443
17.2 創建和使用Win32動態程式庫 444
17.2.1 創建動態程式庫 444
17.2.2 調用動態程式庫 446
17.2.3 向動態程式庫中添加C++類和資源 447
17.2.4 訪問動態程式庫中的C++類和資源 448
17.2.5 使用動態程式庫設計多國語言的應用程式 450
17.3 小結 454
17.4 實踐與練習 454
第18章 多執行緒程式設計 455
視頻講解:31分鐘
18.1 執行緒概述 456
18.1.1 理解系統核心對象 456
18.1.2 理解進程和執行緒 456
18.2 執行緒的創建 456
18.2.1 使用CreateThread函式創建執行緒 457
18.2.2 使用_beginthreadex函式創建執行緒 458
18.2.3 使用AfxBeginThread函式創建執行緒 459
18.2.4 套用MFC類庫創建執行緒 461
18.3 執行緒的掛起、喚醒與終止 464
18.4 執行緒同步 466
18.4.1 多執行緒潛在的危險 466
18.4.2 使用事件對象實現執行緒同步 468
18.4.3 使用信號量對象實現執行緒同步 470
18.4.4 使用臨界區對象實現執行緒同步 472
18.4.5 使用互斥對象實現執行緒同步 474
18.5 小結 476
18.6 實踐與練習 476
第19章 網路套接字編程 477
視頻講解:54分鐘
19.1 計算機網路基礎 478
19.1.2 IP位址 478
19.1.3 地址解析 479
19.1.4 域名系統 480
19.1.6 連線埠 482
19.2 套接字概述 482
19.2.1 套接字概述 483
19.2.2 網路位元組順序 483
19.2.3 套接字I/O模式 483
19.3 套接字函式 483
19.3.1 套接字函式介紹 483
19.3.2 基於套接字函式的網路聊天系統 488
19.4 MFC套接字編程 494
19.4.1 CAsyncSocket類 494
19.4.2 CSocket類 499
19.4.3 基於TCP協定的網路聊天室系統 500
19.5 小結 505
19.6 實踐與練習 505
第4篇 項目實戰
第20章 圖像處理系統 509
視頻講解:3小時14分鐘 509
20.1 開發背景 510
20.2 需求分析 510
20.3 系統設計 510
20.3.1 系統目標 510
20.3.2 系統功能結構 511
20.3.3 系統預覽 511
20.3.4 業務流程 514
20.4 公共模組設計 515
20.5 主窗體設計 518
20.6 圖像旋轉模組設計 524
20.6.1 圖像旋轉模組概述 524
20.6.2 圖像旋轉模組技術分析 525
20.6.3 圖像旋轉模組實現過程 526
20.7 圖像縮放模組設計 534
20.7.1 圖像縮放模組概述 534
20.7.2 圖像縮放模組技術分析 535
20.7.3 圖像縮放模組實現過程 536
20.7.4 單元測試 542
20.8 圖像水印效果模組設計 542
20.8.1 圖像水印效果模組概述 542
20.8.2 圖像水印效果模組技術分析 543
20.8.3 圖像水印效果模組實現過程 543
20.9 PSD檔案瀏覽模組設計 546
20.9.1 PSD檔案瀏覽模組概述 546
20.9.2 PSD檔案瀏覽模組技術分析 546
20.9.3 PSD檔案瀏覽模組實現過程 548
20.10 照片版式處理模組設計 552
20.10.1 照片版式處理模組概述 552
20.10.2 照片版式處理模組技術分析 553
20.10.3 照片版式處理模組實現過程 557
20.11 開發技巧與難點分析 563
20.11.1 點陣圖數據的存儲形式 563
20.11.2 在Visual C++中使用GDI+ 566
20.12 小結 567