Visual C++開發實戰寶典

《VisualC++開發實戰寶典》是2010年清華大學出版社出版的圖書。本書從初學者的角度講述使用Visual C++ 6.0進行程式開發應該掌握的各項技術,突出“基礎”、“全面”、“深入”,強調“實戰”效果。

內容簡介

《Visual C++開發實戰寶典》《Visual C++開發實戰寶典》在各章介紹技術時,都會提供示例或實例,同時在多數章節的結尾安排有綜合套用,通過幾個小型項目綜合套用本章所講解的知識,做到理論聯繫實際。強調只掌握和理解技術,而沒有實際套用,等於沒有掌握技術。最後在《Visual C++開發實戰寶典》的第18~22章提供有5個完整的項目實例,講述從前期規劃、設計流程圖到項目的最終實施整個實現過程。

《Visual C++開發實戰寶典》共分22章,包括Visual C++ 6.0開發環境,程式設計基礎,流程控制,函式,類和對象,對話框程式設計,MFC通用控制項,MFC高級控制項,選單、工具列和狀態欄設計,文本、圖形圖像處理技術,程式調試,列印技術,檔案操作,ADO資料庫編程,多執行緒應用程式設計,動態程式庫,網路編程,學生管理系統,人事考勤管理系統,視頻聊天軟體,區域網路監控系統,垃圾檔案清理工具。

《Visual C++開發實戰寶典》適合有志於從事軟體開發的初學者、高校計算機相關專業學生和畢業生,也可作為軟體開發人員的參考手冊,或者高校的教學參考書。

目錄

第1部分 基礎知識

第1章 Visual C++ 6.0開發環境 3

視頻講解:94分鐘

1.1 Visual C++ 6.0概述 4

1.2 熟悉Visual C++ 6.0開發環境 4

1.2.1 選單介紹 5

1.2.2 工具列介紹 13

1.2.3 工作區介紹 14

1.2.4 代碼編輯視窗介紹 16

1.2.5 控制項面板介紹 17

1.2.6 Output(輸出)視窗介紹 18

1.3 定製Visual C++ 6.0開發環境 19

1.3.1 設計自己的工具列視窗 19

1.3.2 調整代碼文本顏色 20

1.3.3 批量注釋 21

1.4 使用MSDN幫助工具 24

1.5 創建工程 25

1.5.1 創建一個簡單的工程 26

1.5.2 設計程式界面 28

1.5.3 為控制項關聯成員變數 29

1.5.4 編寫程式代碼 30

1.5.5 編譯並運行工程 30

1.5.6 發布應用程式 30

1.6 小結 31

第2章 程式設計基礎 33

視頻講解:220分鐘

2.1 程式設計基本要素 34

2.1.1 標識符 34

2.1.2 關鍵字 34

2.1.3 常量 35

2.1.4 變數 36

2.1.5 暫存器變數 37

2.1.6 靜態變數 37

2.1.7 外部變數 38

2.1.8 自動變數 39

2.1.9 注釋 39

2.2 數據類型 41

2.2.1 簡單數據類型 41

2.2.2 布爾類型 43

2.2.3 數組類型 43

2.2.4 枚舉類型 45

2.2.5 結構體類型 47

2.2.6 共用體類型 51

2.2.7 指針類型 51

2.2.8 引用類型 57

2.2.9 類型別名 58

2.3 類型轉換 59

2.3.1 數值類型轉換 59

2.3.2 靜態轉換 60

2.3.3 動態轉換 61

2.3.4 常量轉換 61

2.3.5 重解釋轉換 63

2.3.6 數值類型與字元串之間的轉換 63

2.4 運算符 65

2.4.1 賦值運算符 65

2.4.2 算術運算符 66

2.4.3 關係運算符和邏輯運算符 68

2.4.4 遞增遞減運算符 70

2.4.5 位運算符 71

2.4.6 sizeof運算符 75

2.4.7 new和delete運算符 77

2.4.8 優先權 78

2.5 表達式 79

2.5.1 逗號表達式 79

2.5.2 條件表達式 80

2.6 實戰 80

2.6.1 字元串加密與解密 81

2.6.2 反轉輸出字元串 83

2.6.3 輸出系統日期和時間 84

2.7 小結 86

2.8 實戰練習 86

第3章 流程控制 87

視頻講解:84分鐘

3.1 簡單語句 88

3.2 複合語句 88

3.3 分支語句 90

3.3.1 if條件語句 90

3.3.2 switch分支語句 94

3.4 循環語句 99

3.4.1 for循環語句 99

3.4.2 while循環語句 103

3.4.3 do while循環語句 105

3.5 跳轉語句 106

3.5.1 goto語句 106

3.5.2 return語句 108

3.5.3 exit語句 109

3.6 實戰 110

3.6.1 對數組元素排序 110

3.6.2 統計學生成績的最高分、最低分和平均值 111

3.6.3 解析字元串 113

3.7 小結 114

3.8 實戰練習 114

第4章 函式 115

視頻講解:122分鐘

4.1 函式的定義 116

4.1.1 函式的聲明和定義 116

4.1.2 函式的調用 119

4.2 函式參數 119

4.2.1 默認值參數 119

4.2.2 const參數 120

4.2.3 指針/引用參數 121

4.2.4 數組參數 123

4.2.5 內聯函式 127

4.3 重載函式 127

4.3.1 定義重載函式 127

4.3.2 隱藏重載函式 130

4.4 函式遞歸調用 131

4.5 函式指針 133

4.6 函式模板 135

4.6.1 函式模板套用 135

4.6.2 重載函式模板 136

4.7 作用域和生命期 137

4.7.1 局部作用域 137

4.7.2 全局作用域 139

4.7.3 命名空間 140

4.8 實戰 145

4.8.1 遍歷磁碟目錄 145

4.8.2 數值排序 147

4.9 小結 148

4.10 實戰練習 148

第5章 類和對象 149

視頻講解:243分鐘

5.1 面向對象程式設計 150

5.1.1 面向對象技術產生的背景 150

5.1.2 面向對象的主要特徵 151

5.2 類的定義 151

5.3 類的實例化——對象 153

5.4 構造函式和析構函式 156

5.4.1 構造函式 157

5.4.2 複製構造函式 159

5.4.3 析構函式 161

5.5 特殊的類成員 163

5.5.1 常量成員 163

5.5.2 靜態成員 164

5.5.3 隱藏的this指針 166

5.6 特殊的成員函式 168

5.6.1 內聯成員函式 168

5.6.2 靜態成員函式 170

5.6.3 重載成員函式 172

5.7 類成員指針 174

5.7.1 類成員函式指針 174

5.7.2 類數據成員指針 175

5.8 繼承 176

5.8.1 單繼承 177

5.8.2 虛函式與動態綁定 180

5.8.3 抽象類 183

5.8.4 類型轉換 185

5.8.5 多繼承 187

5.8.6 虛繼承 189

5.9 運算符重載 192

5.9.1 構造函式自動轉換與禁止 192

5.9.2 運算符重載 193

5.10 友元函式和友元類 196

5.11 類域 200

5.12 嵌套類 203

5.13 局部類 205

5.14 類模板 206

5.14.1 套用類模板 206

5.14.2 類模板中的靜態數據成員 212

5.15 異常處理 213

5.15.1 異常捕捉 214

5.15.2 拋出異常 215

5.16 實戰 217

5.16.1 遞歸遍歷二叉樹 218

5.16.2 循環遍歷二叉樹 221

5.17 小結 227

5.18 實戰練習 227

第2部分 技術套用

第6章 對話框程式設計 231

視頻講解:160分鐘

6.1 創建對話框應用程式 232

6.2 創建對話框 233

6.2.1 設計對話框資源 233

6.2.2 創建並顯示對話框 237

6.3 設定對話框屬性 242

6.3.1 使用屬性視窗設定對話框屬性 242

6.3.2 使用代碼設定對話框屬性 247

6.4 對話框布局 249

6.4.1 向對話框中添加控制項 249

6.4.2 調整控制項的Tab鍵順序 250

6.4.3 調整控制項至相同的大小 251

6.4.4 在對話框中對齊控制項 252

6.4.5 排列控制項 254

6.4.6 使用格線線進行界面布局 257

6.4.7 測試對話框布局效果 259

6.5 訪問對話框中的控制項 259

6.5.1 使用類嚮導為控制項關聯變數 259

6.5.2 利用控制項ID獲取控制項視窗指針 263

6.5.3 利用數據交換訪問控制項文本數據 264

6.6 設定對話框和應用程式圖示 266

6.7 添加對話框成員和成員函式 268

6.7.1 添加成員和成員函式 268

6.7.2 添加訊息處理函式 270

6.7.3 手動添加命令訊息處理函式 272

6.8 使用訊息對話框 273

6.9 Windows通用對話框 275

6.9.1 檔案對話框 275

6.9.2 查找/替換對話框 276

6.9.3 “字型”對話框 277

6.9.4 “顏色”對話框 278

6.9.5 “列印”對話框 278

6.10 實戰 279

6.10.1 獲取系統磁碟信息 279

6.10.2 簡單區域網路通信程式 282

6.11 小結 286

6.12 實戰練習 286

第7章 MFC通用控制項 287

視頻講解:71分鐘

7.1 編輯框控制項EditBox 288

7.1.1 獲取/設定編輯框文本 288

7.1.2 設定字型和文本顏色 288

7.1.3 設定密碼框 289

7.1.4 設定唯讀編輯框 290

7.1.5 編輯框多行顯示文本 290

7.2 靜態文本控制項StaticText 291

7.2.1 設定控制項文本 291

7.2.2 回響滑鼠單擊事件 292

7.3 按鈕控制項Button 293

7.3.1 設定按鈕單擊事件 293

7.3.2 設定圖示按鈕 294

7.4 複選框控制項CheckBox 295

7.4.1 設定和取消複選框選中狀態 296

7.4.2 使用複選框統計個人愛好 297

7.5 單選按鈕控制項RadioButton 298

7.5.1 為單選按鈕設定分組 298

7.5.2 利用單選按鈕確定用戶的選擇 299

7.6 組合框控制項ComboBox 300

7.6.1 設定組合框風格 301

7.6.2 調整組合框列表部分大小 301

7.6.3 向組合框中插入數據 302

7.6.4 獲取用戶選擇的數據 303

7.6.5 設定組合框默認顯示的數據 303

7.7 列表框控制項ListBox 303

7.7.1 向列表框中插入文本 304

7.7.2 為列表框中的項目添加複選功能 305

7.7.3 同時選擇多個項目 306

7.8 圖像控制項Picture 307

7.8.1 使用屬性視窗顯示點陣圖 307

7.8.2 動態載入點陣圖 308

7.9 實戰 309

7.9.1 利用圖像控制項實現公交線路模擬 309

7.9.2 設計媒體播放器 312

7.10 小結 314

7.11 實戰練習 314

第8章 MFC高級控制項 315

視頻講解:84分鐘

8.1 圖像列表控制項ImageList 316

8.1.1 創建圖像列表 316

8.1.2 使用圖像列表繪圖 317

8.2 列表視圖控制項ListControl 319

8.2.1 設定列表視圖控制項風格 319

8.2.2 使用列表視圖設計登錄界面 320

8.2.3 設定列表視圖背景點陣圖 321

8.2.4 使用列表視圖顯示表格數據 324

8.3 樹視圖控制項TreeControl 325

8.3.1 設定樹視圖控制項屬性 325

8.3.2 使用樹視圖控制項顯示區域信息 326

8.3.3 修改樹視圖控制項文本顏色 328

8.3.4 設定複選功能的樹視圖控制項 329

8.4 進度條控制項Progress 333

8.4.1 設定進度條樣式 333

8.4.2 使用進度條顯示操作進度 334

8.5 滑塊控制項Slider 335

8.5.1 滑塊控制項屬性設定 335

8.5.2 使用滑塊控制項設定顏色 336

8.6 標籤控制項TabControl 339

8.6.1 標籤控制項屬性設定 339

8.6.2 使用標籤控制項設計多頁面視窗 341

8.6.3 顯示圖示的標籤控制項 343

8.7 實戰 344

8.7.1 刪除學生信息 344

8.7.2 對點陣圖檔案進行批量編號命名 348

8.8 小結 351

8.9 實戰練習 351

第9章 選單、工具列和狀態欄設計 353

視頻講解:74分鐘

9.1 選單設計 354

9.1.1 設計選單資源 354

9.1.2 選單項命令處理 357

9.1.3 動態創建選單 358

9.1.4 禁用/啟用選單項 361

9.1.5 設計彈出式選單 363

9.1.6 設計點陣圖選單 365

9.2 工具列設計 368

9.2.1 工具列資源設計 368

9.2.2 工具列按鈕命令處理 371

9.2.3 動態創建工具列 372

9.2.4 為工具列設定工具提示功能 376

9.3 狀態欄設計 377

9.3.1 創建狀態欄 377

9.3.2 在狀態欄中顯示進度條 380

9.4 實戰 382

9.4.1 設計學生管理系統主界面 382

9.4.2 設計系統列托盤選單 385

9.5 小結 387

9.6 實戰練習 387

第10章 文本、圖形圖像處理技術 389

視頻講解:90分鐘

10.1 圖形設備接口 390

10.1.1 設備上下文DC 390

10.1.2 GDI對象 391

10.2 對話框視窗區域 392

10.3 文本輸出 394

10.3.1 在指定區域中輸出文本 394

10.3.2 輸出指定字型和顏色文本 396

10.3.3 在通道中輸出文本 398

10.3.4 在圖像背景上輸出透明文本 399

10.4 繪製圖形 401

10.4.1 繪製五子棋表格 401

10.4.2 繪製多邊形 403

10.4.3 繪製控制項外觀 404

10.4.4 填充區域 405

10.5 圖像輸出 407

10.5.1 在視窗中輸出點陣圖資源 407

10.5.2 顯示磁碟中的點陣圖檔案 410

10.5.3 在視窗非客戶區域輸出點陣圖 412

10.5.4 點陣圖檔案結構分析 414

10.5.5 使用點陣圖數據直接繪圖 416

10.5.6 顯示JPEG格式圖像 419

10.6 GDI+圖像處理技術 422

10.6.1 在程式中使用GDI+ 422

10.6.2 使用GDI+顯示GIF動畫 423

10.6.3 使用GDI+實現圖像水印效果 426

10.7 實戰 428

10.7.1 設計具有圖片滾動功能的瀏覽器 428

10.7.2 設計字形窗體的程式啟動界面 433

10.8 小結 435

10.9 實戰練習 435

第11章 程式調試 437

視頻講解:30分鐘

11.1 斷點跟蹤 438

11.1.1 設計簡單斷點 438

11.1.2 設定數據斷點 439

11.1.3 條件斷點 439

11.1.4 設定訊息斷點 440

11.2 調試視窗 441

11.2.1 Watch視窗 441

11.2.2 Call Stack視窗 443

11.2.3 Memory視窗 443

11.2.4 Variables視窗 444

11.2.5 Registers視窗 445

11.2.6 Disassembly視窗 446

11.3 宏調試技術 447

11.3.1 套用TRACE宏輸出信息 448

11.3.2 套用ASSERT宏診斷條件是否成立 448

11.4 記憶體泄露檢查 449

11.5 小結 450

第12章 列印技術 451

視頻講解:63分鐘

12.1 列印基礎知識 452

12.1.1 印表機介紹 452

12.1.2 解析度 452

12.1.3 映射模式 452

12.2 列印輸出 454

12.2.1 獲取印表機設備上下文 454

12.2.2 列印文本信息 455

12.2.3 列印圖像 457

12.3 列印控制 459

12.3.1 控制列印方向 461

12.3.2 設定列印紙大小 463

12.4 實戰 464

12.4.1 實現工作證列印 464

12.4.2 列印對話框及其控制項中的數據 467

12.5 小結 469

12.6 實戰練習 469

第13章 檔案操作 471

視頻講解:104分鐘

13.1 使用C函式進行檔案操作 472

13.1.1 讀取檔案信息 472

13.1.2 寫入檔案信息 474

13.1.3 定位檔案 475

13.2 使用CFile類進行檔案操作 477

13.2.1 讀取檔案信息 477

13.2.2 寫入檔案信息 479

13.2.3 定位檔案 481

13.2.4 檔案異常處理 483

13.3 檔案管理 485

13.3.1 獲取檔案屬性信息 486

13.3.2 查找檔案 487

13.3.3 複製檔案 490

13.3.4 刪除檔案 492

13.4 INI檔案操作 494

13.4.1 INI檔案結構解析 494

13.4.2 讀寫INI檔案 494

13.5 註冊表操作 497

13.5.1 使用函式直接讀寫註冊表 498

13.5.2 使用CRegKey類讀寫註冊表 502

13.6 實戰 505

13.6.1 複製檔案過程中顯示進度條 505

13.6.2 設定開機自動運行 507

13.7 小結 510

13.8 實戰練習 510

第14章 ADO資料庫編程 511

視頻講解:32分鐘

14.1 資料庫概述 512

14.1.1 資料庫發展歷史 512

14.1.2 關係型資料庫 513

14.2 ADO技術 513

14.2.1 ADO概述 514

14.2.2 在工程中使用ADO技術 514

14.3 ADO對象 514

14.3.1 ADO連線對象Connection 514

14.3.2 ADO記錄集對象Recordset 517

14.3.3 ADO命令對象Command 520

14.4 實戰 522

14.4.1 使用ActiveX控制項連線資料庫 522

14.4.2 使用ADO對象向資料庫添加數據 524

14.4.3 使用SQL語句修改和刪除資料庫中的數據 527

14.5 小結 529

14.6 實戰練習 529

第15章 多執行緒應用程式設計 531

視頻講解:72分鐘

15.1 執行緒概述 532

15.1.1 執行緒的定義 532

15.1.2 執行緒與進程的關係 532

15.2 執行緒的創建 533

15.2.1 使用CreateThread函式創建執行緒 533

15.2.2 使用_beginthread函式創建執行緒 535

15.2.3 使用AfxBeginThread函式創建執行緒 536

15.3 執行緒的調度 539

15.3.1 掛起執行緒 539

15.3.2 喚醒執行緒 540

15.3.3 終止執行緒 541

15.4 執行緒同步 542

15.4.1 執行緒同步的必要性 543

15.4.2 使用事件對象實現執行緒同步 544

15.4.3 使用互斥對象實現執行緒同步 546

15.4.4 使用信標對象實現執行緒同步 548

15.4.5 使用關鍵代碼段實現執行緒同步 550

15.5 執行緒池 552

15.5.1 異步調用函式 553

15.5.2 依據指定的時間間隔調用函式 555

15.6 實戰 557

15.6.1 使用多執行緒實現臨時檔案清理 558

15.6.2 使用多執行緒實現任務列表管理 566

15.7 小結 572

15.8 實戰練習 572

第16章 動態程式庫 573

視頻講解:41分鐘

16.1 動態程式庫基礎 574

16.1.1 動態程式庫的特點 574

16.1.2 查看動態程式庫 574

16.2 創建和訪問動態程式庫 575

16.2.1 創建通用的動態程式庫 575

16.2.2 訪問動態程式庫 577

16.2.3 向動態程式庫中添加類和資源 578

16.2.4 訪問動態程式庫中的類和資源 580

16.3 移花接木——函式轉發器 581

16.4 實戰 582

16.4.1 使用動態程式庫設計支持多國語言的應用程式 582

16.4.2 利用動態程式庫實現界面換膚 586

16.5 小結 588

16.6 實戰練習 588

第17章 網路編程 589

視頻講解:116分鐘

17.1 計算機網路基礎 590

17.1.1 計算機網路發展歷史 590

17.1.2 OSI參考模型 590

17.1.3 IP位址 591

17.1.4 域名 591

17.1.5 地址解析 592

17.1.6 TCP/IP協定 593

17.1.7 連線埠 594

17.2 套接字編程基礎 595

17.2.1 套接字概述 595

17.2.2 套接字阻塞模式 595

17.2.3 位元組順序 596

17.2.4 套接字I/O模型 596

17.3 套接字函式 611

17.3.1 套接字函式介紹 611

17.3.2 設計簡單的網路聊天程式 616

17.4 MFC套接字編程 624

17.4.1 CAsyncSocket類 624

17.4.2 CSocket類 628

17.4.3 設計多人對話的網路聊天室 629

17.5 實戰 635

17.5.1 設計信息廣播應用程式 635

17.5.2 設計檔案傳送應用程式 638

17.6 小結 657

17.7 實戰練習 657

第3部分 項目實戰

第18章 學生管理系統 661

視頻講解:104分鐘

18.1 開發背景 662

18.2 系統分析 662

18.2.1 需求分析 662

18.2.2 系統功能描述 662

18.3 系統設計 663

18.3.1 系統目標 663

18.3.2 系統功能結構 663

18.3.3 系統預覽 664

18.3.4 業務流程圖 664

18.3.5 資料庫設計 665

18.4 公共類設計 667

18.5 主窗體設計 668

18.6 科目信息管理模組設計 669

18.6.1 科目信息管理模組概述 669

18.6.2 科目信息管理技術分析 669

18.6.3 科目信息管理實現過程 670

18.7 學生信息管理模組設計 675

18.7.1 學生信息管理模組概述 675

18.7.2 學生信息管理技術分析 675

18.7.3 學生信息管理實現過程 675

18.8 學生成績錄入模組設計 679

18.8.1 學生成績錄入模組概述 679

18.8.2 學生成績錄入技術分析 679

18.8.3 學生成績錄入實現過程 680

18.9 成績等級管理模組設計 682

18.9.1 成績等級管理模組概述 682

18.9.2 成績等級管理技術分析 682

18.9.3 成績等級管理實現過程 683

18.10 學生違規查詢模組設計 690

18.10.1 學生違規查詢模組概述 690

18.10.2 學生違規查詢技術分析 690

18.10.3 學生違規查詢實現過程 691

18.11 學生成績報表列印模組設計 694

第19章 人事考勤管理系統 699

視頻講解:91分鐘

19.1 開發背景 700

19.2 系統分析 700

19.2.1 需求分析 700

19.2.2 系統功能描述 700

19.3 系統設計 700

19.3.1 系統目標 700

19.3.2 系統功能結構 701

19.3.3 系統預覽 701

19.3.4 業務流程圖 702

19.3.5 資料庫設計 702

19.4 公共類設計 703

19.5 主窗體設計 708

19.6 用戶登錄模組設計 709

19.6.1 用戶登錄模組概述 709

19.6.2 用戶登錄模組技術分析 709

19.6.3 用戶登錄模組實現過程 710

19.7 用戶管理模組設計 711

19.7.1 用戶管理模組概述 711

19.7.2 用戶管理模組技術分析 711

19.7.3 用戶管理模組實現過程 712

19.8 部門管理模組設計 713

19.8.1 部門管理模組概述 713

19.8.2 部門管理模組技術分析 714

19.8.3 部門管理模組實現過程 714

19.9 人員信息管理模組設計 717

19.9.1 人員信息管理模組概述 717

19.9.2 人員信息管理技術分析 717

19.9.3 人員信息管理實現過程 717

19.10 考勤管理模組設計 723

19.10.1 考勤管理模組概述 723

19.10.2 考勤管理模組技術分析 724

19.10.3 考勤管理模組實現過程 725

19.11 考勤匯總查詢模組設計 730

19.11.1 考勤匯總查詢模組概述 730

19.11.2 考勤匯總查詢模組技術分析 730

19.11.3 考勤匯總查詢模組實現過程 731

第20章 視頻聊天軟體 735

視頻講解:52分鐘

20.1 開發背景 736

20.2 系統功能描述 736

20.3 系統技術分析 736

20.4 系統實現過程 737

第21章 區域網路監控系統 745

視頻講解:39分鐘

21.1 開發背景 746

21.2 系統功能描述 746

21.3 系統技術分析 746

21.4 系統實現過程 747

第22章 垃圾檔案清理工具 753

視頻講解:19分鐘

22.1 開發背景 754

22.2 系統功能描述 754

22.3 系統技術分析 754

22.4 系統實現過程 755

附錄A 759

第1章思考題答案 759

第2章思考題答案 760

第3章思考題答案 760

第4章思考題答案 761

第5章思考題答案 761

第6章思考題答案 762

第7章思考題答案 763

第8章思考題答案 763

第9章思考題答案 764

第10章思考題答案 764

第11章思考題答案 765

第12章思考題答案 766

第13章思考題答案 766

第14章思考題答案 768

第15章思考題答案 768

第16章思考題答案 769

第17章思考題答案 769

相關詞條

相關搜尋

熱門詞條

聯絡我們