VisualC++程式設計全程指南

VisualC++程式設計全程指南

此書通過大量實例由淺入深地介紹使用Visual C++開發套用系統的知識和編程方法,概念清晰、層次分明,並且通俗易懂。詳細介紹Visual C++的基本知識、C++程式語言、Windows編程基礎、界面編程、常用控制項編程、圖形圖像,以及檔案編程。也介紹常用的高級編程技術,如多媒體、動態程式庫、網路及資料庫編程等。此書面向國中級的Visual C++用戶,也可作為大、中專院校計算機及相關專業的輔導教材。為了方便讀者的學習,此書的所有實例均保存在配書光碟中。

基本信息

宣傳語

1、 知識全面,實例精彩,指導性強
VC基礎、開發進階、專題套用、實戰演練,循序漸進地全面講解Visual C++程式開發的方方面面。
2、 用實例說話,講解詳細,通俗易懂
全書包含了100來個實例,對程式代碼提供詳細的標註,讓讀者掌握更多的編程技術和注意事項。

前 言

Visual C++ 6.0(簡稱“VC”)是Microsoft公司推出的一種開發Windows應用程式的高級語言,相比其他的開發語言,如Visual Basic等,具有更為強大的功能和更為高效的執行效率。它提供了程式設計領域中所涉及的多種技術,如檔案訪問、圖形圖像處理、網路通信、多媒體和數據處理等,VC幾乎可以開發任何一個領域所需要的套用系統。VC以其功能強大、運行速度快,並且對計算機配置要求低而受到廣大開發人員的歡迎。
本書特色
1、用實例說話
全書包含大量而實用的實例,幾乎每一章節都有對應的實例,以涵蓋VC編程的多個知識點。其中既有反映技術要點的小實例,也有比較大型的綜合實例,讀者在開發過程中遇到的問題基本可以在這些實例中找到答案。
2、知識全面,通俗易懂
全書內容由淺入深且表達清晰,從創建項目開始逐步介紹各種複雜的套用,即使是初學VC的開發人員也能夠容易地掌握。
由於時間倉促和作者的水平有限,書中的錯誤和不妥之處在所難免,敬請讀者批評指正。
編著者
2008年10月

目 錄

VC基礎
第1章 Visual C++ 6.0配置 1
1.1 Visual C++ 6.0概述 2
1.2 Visual C++ 6.0的主要特點 2
1.3 Visual C++ 6.0開發環境 3
1.3.1 Visual C++ 6.0的軟、硬體配置要求 3
1.3.2 安裝Visual C++ 6.0 3
1.3.3 修復和卸載Visual C++ 6.0 5
1.4 Visual C++ 6.0的主要框架視窗 5
1.4.1 Visual C++ 6.0的開發環境 5
1.4.2 選單欄 6
1.4.3 工具列 9
1.4.4 工作區 9
1.4.5 代碼編輯器 10
1.4.6 輸出視窗 10
1.5 Visual C++實用工具 11
1.5.1 Spy++ 11
1.5.2 MFC Tracer 12
1.5.3 Error Lookup 12
1.6 嚮導程式 12
1.6.1 AppWizard 13
1.6.2 ClassWizard 14
1.7 第1個控制台應用程式 15
1.8 本章小結 18
第2章 C++語言基礎 19
2.1 C++語言概述 20
2.2 C++程式的基本結構 20
2.3 基本數據類型、標識符和關鍵字 20
2.3.1 標識符和關鍵字 21
2.3.2 常量與變數 21
2.3.3 基本數據類型 21
2.4 運算符和表達式 23
2.4.1 運算符 23
2.5 數組、指針和結構體 26
2.5.1 數組類型 26
2.5.2 枚舉類型 27
2.5.3 指針類型 27
2.5.4 結構類型 28
2.6 流程控制結構 29
2.6.1 順序結構 29
2.6.2 選擇結構 29
2.6.3 循環結構 33
2.6.4 控制轉移語句 37
2.7 函式 38
2.7.1 定義和調用函式 39
2.7.2 函式重載 42
2.7.3 變數的作用域 43
2.8 類和對象 46
2.8.1 類的定義和實現 46
2.8.2 內聯函式和友元 49
2.8.3 構造函式和析構函式 51
2.8.4 繼承和派生 53
2.8.5 多態與虛函式 58
2.9 編譯預處理 59
第3章 Windows編程模式 63
3.1 事件驅動程式 64
3.2 Windows API 64
3.3 WinMain函式 64
3.3.1 定義WinMain函式 65
3.3.2 創建視窗 65
3.4 訊息佇列 68
3.4.1 訊息的概念 68
3.4.2 訊息處理 68
3.4.3 訊息分類 69
3.4.4 訊息映射 70
3.4.5 傳送訊息 71
3.4.6 訊息處理 73
3.5 MFC 74
3.5.1 MFC的發展歷史 74
3.5.2 MFC基礎類庫 75
第4章 應用程式框架 78
4.1 創建應用程式框架 79
4.2 應用程式檔案組成 83
4.2.1 工作區檔案和項目檔案 83
4.2.2 應用程式源檔案和頭檔案 84
4.2.3 資源檔案預編譯頭檔案 84
4.3 應用程式框架的類結構 84
4.3.1 應用程式類 85
4.3.2 文檔類 85
4.3.3 主框架類 86
4.3.4 視圖類 87
4.3.5 對話框類 89
4.4 應用程式的執行過程 89
4.5 SDI和MDI 89
4.6 類嚮導ClassWizard 90
4.6.1 ClassWizard簡介 90
4.6.2 創建新類 91
4.6.3 添加訊息處理函式 92
4.6.4 添加成員變數 94
4.7 文檔/視圖結構 95
4.7.1 文檔類 95
4.7.2 視圖類 96
第5章 資源和資源編輯器 98
5.1 資源 99
5.2 資源編輯器 99
5.3 資源符號 101
5.4 資源符號瀏覽器 102
5.5 資源編輯器分類 102
5.5.1 對話框編輯器 102
5.5.2 選單編輯器 106
5.5.3 加速鍵編輯器 107
5.5.4 串編輯器 109
5.5.5 圖形編輯器 110
5.5.6 工具列編輯器 111
第6章 選單、工具列和狀態欄 113
6.1 選單 114
6.1.1 CMenu類 114
6.1.2 選單訊息 116
6.1.3 選單項 116
6.1.4 修改選單屬性 120
6.1.5 動態選單 125
6.1.6 回響命令 128
6.2 工具列 130
6.2.1 工具列 130
6.2.2 工具列點陣圖和按鈕 130
6.2.3 工具列編輯器 131
6.2.4 工具列類 135
6.3 狀態欄 136
6.3.1 狀態欄 136
6.3.2 狀態欄結構 137
6.3.3 創建狀態欄 138
6.3.4 CStatusBar類 142
6.4 綜合實例 151
6.4.1 實例目的 151
6.4.2 實例要求 151
6.4.3 實例實現步驟 151
開發進階
第7章 對話框 160
7.1 對話框基礎知識 161
7.1.1 對話框簡介 161
7.1.2 對話框構成 161
7.1.3 對話框類 161
7.2 創建對話框 162
7.2.1 創建對話框的流程 163
7.2.2 創建對話框資源 163
7.2.3 創建對話框類 166
7.3 訊息對話框 170
7.3.1 簡介 171
7.3.2 框架函式 172
7.4 模態對話框 173
7.5 非模態對話框 174
7.6 屬性頁對話框 180
7.6.1 CPropertySheet類 180
7.6.2 CPropertyPage類 183
7.7 通用對話框 189
7.7.1 檔案對話框 189
7.7.2 查找和替換對話框 190
7.7.3 字型對話框 191
7.7.4 顏色對話框 192
7.7.5 列印對話框 193
7.7.6 頁面設定對話框 194
第8章 Windows通用控制項 195
8.1 傳統控制項通知訊息 196
8.2 靜態文本控制項 197
8.2.1 使用靜態文本控制項 197
8.2.2 CStatic類的主要成員函式 198
8.3 文本編輯控制項 200
8.3.1 使用文本編輯控制項 201
8.3.2 CEdit類的主要成員函式 201
8.4 按鈕控制項 205
8.4.1 使用按鈕控制項 205
8.4.2 CButton類的主要成員函式 206
8.5 圖片控制項 208
8.6 滾動條控制項 208
8.6.1 使用控制項滾動條 208
8.6.2 滾動條訊息 209
8.6.3 CScrollBar類的主要成員函式 209
8.7 列表框控制項 210
8.7.1 使用控制項列表框 210
8.7.2 CListBox類的主要成員函式 212
8.8 組合框控制項 214
8.8.1 使用組合框控制項 214
8.8.2 CComboBox類的主要成員函式 215
8.9 新Win32控制項 226
8.9.1 新Win32控制項的通知訊息 227
8.10 樹形控制項 228
8.10.1 使用樹形控制項 228
8.10.2 CTreeCtrl類的主要成員函式 230
8.11 旋轉按鈕控制項 232
8.11.1 使用旋轉按鈕 232
8.11.2 CSpinButtonCtrl類的主要成員函式 233
8.12 滑動控制項 233
8.12.1 使用滑動控制項 234
8.12.2 CSliderCtrl類的主要成員函式 235
8.13 進度條控制項 236
第9章 文本與圖形處理 237
9.1 繪圖基礎知識 238
9.1.1 繪圖的基本函式 238
9.2 設備上下文 242
9.2.1 設備上下文簡介 243
9.2.2 CDC類 243
9.3 圖形設備接口 244
9.3.1 GDI簡介 244
9.3.2 GDI對象 245
9.4 數據結構類 245
9.4.1 CPoint類 245
9.4.2 CSize類 245
9.4.3 CRect類 245
9.5 畫筆和畫刷 246
9.5.1 畫筆 246
9.5.2 CPen類 246
9.5.3 創建與調用畫筆 247
9.5.4 畫刷 249
9.5.5 CBrush類 250
9.5.6 創建與調用畫刷 250
9.6 字型類 253
9.6.1 CFont類 253
9.6.2 主要成員函式 254
9.6.3 創建特殊的字型效果 256
9.7 點陣圖類 259
9.8 映射模式 261
9.8.1 映射模式簡介 261
9.8.2 自定義坐標系統 262
9.8.3 坐標轉換 263
第10章 檔案操作 265
10.1 串列化 266
10.1.1 MFC程式框架支持的文檔結構 266
10.1.2 串列化類 267
10.1.3 直接使用串列化 268
10.2 CArchive類 269
10.2.1 CArchive對象 270
10.2.2 通過CArchive來串列化Cobject 270
10.2.3 CArchive操作 271
10.3 檔案CFile類 274
10.3.1 打開和關閉檔案 274
10.3.2 檔案定位 275
10.3.3 檔案的讀寫操作 276
10.3.4 檔案管理 277
10.3.5 檔案異常 283
10.4 檔案對話框 292
10.4.1 使用CFileDialog 292
10.4.2 選擇多個檔案 293
10.4.3 設計所需的檔案對話框 293
10.5 記憶體檔案類 293
10.5.1 CMemFile類 294
10.5.2 CSharedFile類 294
10.6 檔案輸入/輸出流 295
第11章 多執行緒 296
11.1 進程 297
11.1.1 Windows多進程程式設計 297
11.1.2 進程基礎知識 297
11.1.3 創建新進程 298
11.1.4 進程管理 301
11.2 執行緒 304
11.2.1 執行緒基礎知識 304
11.2.2 創建執行緒 306
11.2.3 執行緒優先權 307
11.2.4 掛起執行緒 307
11.2.5 終止執行緒 309
11.3 用戶界面執行緒 310
11.4 工作者執行緒 314
11.5 執行緒間的通信 318
11.6 執行緒同步 324
11.6.1 互斥體 325
11.6.2 信號量 325
11.6.3 臨界區 326
11.6.4 事件對象 327
11.6.5 信號 329
第12章 Windows動態程式庫 337
12.1 動態程式庫基礎 338
12.1.1 DLL 338
12.1.2 動態連結和靜態連結 338
12.1.3 DLL與進程的地址空間 338
12.1.4 動態程式庫的分類 338
12.1.5 動態程式庫的優點 339
12.2 DLL的出入口函式 340
12.2.1 DllMain()函式 341
12.2.2 DLL的導出函式 342
12.2.3 導出函式調用約定 343
12.2.4 函式名修飾約定 344
12.2.5 模組定義檔案 345
12.3 程式鏈接 346
12.3.1 顯式連結 346
12.3.2 隱式連結 347
12.4 非MFC DLL 348
12.5 常規DLL 351
12.6 擴展DLL 355
12.7 鉤子函式 361
12.7.1 鉤子的基本原理 362
12.7.2 鉤子函式的類型 363
12.7.3 安裝與卸載鉤子 363
專題套用
第13章 網路編程 370
13.1 網路基礎知識 371
13.1.1 網路分類 371
13.1.2 IP位址和連線埠 371
13.1.3 網路模型 371
13.1.4 數據封裝 372
13.1.5 套接字 373
13.2 Socket概述 374
13.2.1 Socket簡介 374
13.2.2 Socket編程 374
13.2.3 windows socket發展 374
13.2.4 Windows Sockets分類 375
13.2.5 Windows Sockets API 376
13.3 Windows Sockets的編程原理 377
13.3.1 套接字的類型 377
13.3.2 基於TCP的Socket編程 378
13.3.3 基於UDP的Socket編程 379
13.3.4 Winsock的啟動和終止 379
13.3.5 錯誤檢查和控制 380
13.3.6 流套接字編程模型 380
13.3.7 數據報套接字編程模型 382
13.4 WinSock的MFC類 382
13.4.1 CASynCSocket 383
13.4.2 CSocket 385
13.5 Winsock編程實例 386
13.6 WinInet編程技術 408
13.6.1 WinInet使用方法和原則 409
第14章 資料庫編程 412
14.1 資料庫基礎知識 413
14.1.1 資料庫基本概念 413
14.1.2 資料庫種類 413
14.1.3 資料庫開發步驟 414
14.1.4 資料庫的發展階段和優點 414
14.1.5 資料庫接口技術 415
14.2 Access資料庫 416
14.2.1 基礎知識 416
14.2.2 資料庫設計 417
14.3 SQL語句 428
14.3.1 SQL基礎知識 428
14.3.2 SQL基本語法 428
14.3.3 查詢語句 429
14.3.4 插入語句 430
14.3.5 更新語句 431
14.3.6 刪除語句 431
14.4 ODBC編程 435
14.4.1 基礎知識 435
14.4.2 CDatabase類 436
14.4.3 CRecordset類 438
14.4.4 CRecordView類 444
14.5 DAO編程 461
14.5.1 DAO基礎知識 461
14.5.2 DAO內部結構 463
14.5.3 套用DAO編程 464
14.6 OLE DB 478
14.6.1 基本OLE/DB結構 478
14.6.2 OLE/DB客戶模板結構 479
14.6.3 OLE/DB提供者模板結構 480
14.7 ADO對象和集合 483
14.7.1 ADO對象模型 483
14.7.2 引入ADO庫 484
14.7.3 連線資料庫 484
14.7.4 查詢記錄 485
14.7.5 添加記錄 486
14.7.6 修改記錄 486
14.7.7 刪除記錄 487
14.7.8 在C++應用程式中使用ADO 488
實戰演練
另:光碟中附贈5個系統程式
1 考試管理系統
2 網路流量監控系統
3 庫存管理系統
4 MySniff嗅探器
5 HTTP伺服器
實例目錄
第1章 Visual C++ 6.0配置 1
第2章 C++語言基礎 19
實例2-1 自增自減 24
實例2-2 求余運算符 24
實例2-3 賦值運算符 26
實例2-4 指針類型 28
實例2-5 套用if…else 30
實例2-6 switch語句 32
實例2-7 for循環 33
實例2-8 while循環 34
實例2-9 do…while循環 35
實例2-10 循環次數 36
實例2-11 轉移語句 37
實例2-12 函式調用 39
實例2-13 函式遞歸 41
實例2-14 函式重載 42
實例2-15 局部變數 43
實例2-16 全局變數 44
實例2-17 靜態變數 45
實例2-18 求和運算 47
實例2-19 靜態成員 48
實例2-20 內聯函式 49
實例2-21 友元函式 50
實例2-22 構造函式 52
實例2-23 析構函式 53
實例2-24 單繼承 54
實例2-25 多繼承 56
實例2-26 虛函式 58
實例2-27 宏定義 60
第3章 Windows編程模式 63
第4章 應用程式框架 78
實例4-1 利用MFC AppWizard生成一個SDI(單文檔) 79
實例4-2 輸出圓 88
實例4-3 利用類嚮導創建類 91
第5章 資源和資源編輯器 98
實例5-1 創建自定義資源 101
實例5-2 登錄界面 104
實例5-3 創建一個簡單的選單 106
實例5-4 設計加速鍵 108
實例5-5 創建一個圖示 110
第6章 選單、工具列和狀態欄 113
實例6-1 普通選單 117
實例6-2 修改選單 120
實例6-3 彈出選單 123
實例6-4 動態添加選單 125
實例6-5 動態插入選單項 126
實例6-6 動態刪除選單項 127
實例6-7 為動態創建的選單項添加回響函式 128
實例6-8 創建工具列1 131
實例6-9 創建工具列2 133
實例6-10 修改應用程式的狀態欄 139
實例6-11 更新狀態欄窗格 140
實例6-12 狀態欄時鐘 143
實例6-13 滑鼠位置 145
實例6-14 畫正弦曲線 148
第7章 對話框 160
實例7-1 創建對話框資源 163
實例7-2 創建對話框類 166
實例7-3 模態對話框 173
實例7-4 非模態對話框 174
實例7-5 創建嚮導對話框 185
第8章 Windows通用控制項 195
實例8-1 靜態文本控制項 198
實例8-2 簡單乘法運算 203
實例8-3 標準控制項實例 217
第9章 文本與圖形處理 237
實例9-1 繪製直線 241
實例9-2 矩形和橢圓 242
實例9-3 畫筆 248
實例9-4 原色畫刷 251
實例9-5 含樣式的畫刷 252
實例9-6 字型類 254
實例9-7 空心字 256
實例9-8 漸變字 258
實例9-9 點陣圖類 260
實例9-10 坐標系統 262
第10章 檔案操作 265
實例10-1 serialize()函式 268
實例10-2 CArchive套用 272
實例10-3 存取SDI程式文檔實例 278
實例10-4 檔案操作實例 284
第11章 多執行緒 296
實例11-1 進程套用 302
實例11-2 執行緒實例 308
實例11-3 用戶界面執行緒 310
實例11-4 使用工作者執行緒實例 314
實例11-5 執行緒間的通信 319
實例11-6 執行緒同步 329
實例11-7 多執行緒實例 335
第12章 Windows動態程式庫 337
實例12-1 套用非MFC DLL 348
實例12-2 常規DLL 351
實例12-3 擴展DLL 356
實例12-4 滑鼠鉤子 365
第13章 網路編程 370
實例13-1 Winsock實現點對點聊天程式(UDP) 386
實例13-2 Winsock實現聊天程式(TCP) 392
實例13-3 CSocket實現聊天程式(TCP) 404
第14章 資料庫編程 412
實例14-1 表嚮導 420
實例14-2 使用設計器創建表 422
實例14-3 Access資料庫 424
實例14-4 SQL Server 432
實例14-5 創建數據源 445
實例14-6 ODBC程式 446
實例14-7 DAO套用編程 465
實例14-8 開發MFC OLE DB用戶程式 482
實例14-9 開發ATL OLE DB用戶程式 483
實例14-10 通過OLE DB SDK使用ADO 488

相關詞條

相關搜尋

熱門詞條

聯絡我們