圖書簡介
本書是一本與眾不同的面向初學者的Visual C++讀物,不需要讀者有太多的計算機基礎知識。本書講解通俗易懂,循序漸進。本書語言輕鬆活潑,用類比、對比、比喻等寫作手法,並配合圖解教學,對難點又給出了必要提示;書中的每個知識點都有對應的編程實例,便於讀者一邊學習一邊動手實踐,既可以提高讀者的動手能力,也可以激發學習興趣。
本書介紹Visual C++的函式調用形式、面向對象編程、MFC工作原理、開發軟體流程及一些實用開發技巧。全書共15章,分為4篇。第1篇介紹Visual C++開發環境、C++語法基礎及MFC運行機制;第2篇介紹利用Visual Studio開發工具進行圖形界面的開發,涉及Windows控制項、選單、工具列和狀態欄、圖形圖像;第3篇介紹Visual C++應用程式開發的基礎,涉及數據檔案的讀寫和動態程式庫;第4篇對前面知識進行總結和擴展,涉及多執行緒、網路編程、資料庫編程及STL等關鍵技術,最後用一個電子書管理系統帶領讀者掌握項目開發的過程和技巧。
本書最適合沒有基礎的Visual C++新手閱讀;有一定基礎的讀者,也可通過本書進一步理解Visual C++的各個重要概念及知識點;對於大、中專院校的學生和培訓班的學員,本書也不失為一本好教材。
目錄
第1篇VisualC++開發環境及語言基礎
第1章開發環境及常用應用程式框架(教學視頻:21分鐘) 2
1.1安裝並測試開發環境 2
1.1.1安裝開發環境 2
1.1.2安裝開發環境的幫助檔案(MSDN) 6
1.1.3測試開發環境實例:新建一個“HelloWorld”控制台程式 7
1.2VisualC++的發展史 9
1.2.1C發展為C++ 9
1.2.2VisualC++6.0的發展 10
1.2.3了解VisualC++新版本的特點 10
1.2.4MFC類庫(MicrosoftFoundationClasses)簡述 10
1.3開發環境介紹 13
1.3.1C/C++編譯器簡述 13
1.3.2了解VisualC++界面、選單、工具列 13
1.3.3了解項目和項目工作區 14
1.4調試程式 15
1.4.1查找源程式中的語法錯誤 16
1.4.2運用調試器 17
1.4.3跟蹤調試程式 18
1.5VisualC++常用應用程式框架 19
1.5.1簡述Win32應用程式(Win32Application) 19
1.5.2簡述Win32控制台程式(Win32ConsoleApplication) 20
1.5.3簡述MFC應用程式(MFCApplication) 20
1.5.4創建MFC動態程式庫(MFCDLL) 23
1.6開發環境的捷徑簡介 24
1.7本章總結 25
1.8課後練習 25
第2章C++入門基礎(教學視頻:62分鐘) 26
2.1C++基礎知識 26
2.1.1學習C++的必要性 26
2.1.2學習C++有何優勢 26
2.1.3學習C++應具備什麼素質 27
2.1.4C++會帶給我們什麼 27
2.2數據類型 27
2.2.1基礎數據類型——常量和變數 28
2.2.2小議簡單類型 30
2.2.3對比分析共用體(union)和結構體(struct) 35
2.2.4在實例中簡單套用指針類型 37
2.2.5實現面向對象編程的必要條件——類 39
2.2.6簡單套用string類 40
2.3能減少代碼行數的數據類型——數組 41
2.3.1套用讀寫數據——一維數組 42
2.3.2套用圖像處理——二維數組 44
2.3.3套用處理字元串——字元型數組 44
2.4運算符套用 46
2.4.1各種運算符優先權 46
2.5C++的流程控制語句 50
2.5.1實現程式的選擇結構——if語句和switch語句 51
2.5.2實現程式的循環結構——for語句、while語句和do…while語句 54
2.5.3實例:一個工科生的每星期中選穿T恤顏色 56
2.6函式 58
2.6.1什麼是函式 58
2.6.2創建一個函式 58
2.6.3函式的參數和返回值 59
2.7實例詳解函式的調用 59
2.7.1函式的嵌套調用 59
2.7.2函式的遞歸調用 60
2.8本章總結 61
2.9課後練習 62
第3章C++面向對象編程基礎(教學視頻:34分鐘) 63
3.1什麼是面向對象編程 63
3.2面向對象編程的基本內容 64
3.2.1程式運行期的基本實體——對象 64
3.2.2實現面向對象編程的必要條件——類 65
3.2.3實現程式的模組化——封裝 66
3.2.4實現系統的可重用及可擴充性——繼承 67
3.2.5同一訊息為不同對象接受時產生完全不同的行為——多態 68
3.2.6對象之間溝通的途徑——訊息傳遞 68
3.3討論類的結構及編寫規則 69
3.3.1構造函式 69
3.3.2默認參數的構造函式 71
3.3.3析構函式 73
3.3.4實例:介紹重載構造函式和複製構造函式 76
3.3.5虛函式 79
3.3.6虛基類 82
3.4詳解派生類 83
3.4.1派生類從何而來 83
3.4.2派生類如何訪問基類成員 84
3.4.3實例:如何寫一個派生類 84
3.4.4派生類的構造和析構函式的執行順序 85
3.5友元 86
3.5.1套用友元函式 86
3.5.2套用友元類 87
3.6重載 88
3.6.1什麼是重載 88
3.6.2分析重載與重寫的不同 89
3.6.3實例:函式的重載 89
3.6.4實例:運算符的重載 90
3.7實例:具體實現封裝、繼承 91
3.7.1創建一個父類 91
3.7.2編寫父類內函式 92
3.7.3創建一個子類——實現繼承功能 94
3.7.4封裝類和函式 95
3.8本章總結 98
3.9課後練習 98
第4章MFC運行機制(教學視頻:19分鐘) 100
4.1什麼是MFC 100
4.1.1MFC基礎知識 100
4.1.2新建單文檔MFC應用程式的4個類 102
4.2MFC程式運行順序 106
4.3訊息 107
4.3.1訊息的定義 108
4.3.2訊息中有什麼 108
4.3.3訊息的分類 109
4.4訊息佇列及訊息處理 113
4.4.1對比介紹佇列訊息和非佇列訊息 114
4.4.2訊息的傳送方式——傳送、寄送和廣播 114
4.4.3描述接收訊息的函式 116
4.4.4詳解具體實例——訊息的處理 117
4.5實現視窗實時更新的必要條件——訊息循環 119
4.5.1非對話框程式的訊息循環機制 119
4.5.2對話框程式的訊息循環機制 121
4.6本章總結 122
4.7課後練習 123
第2篇VisualStudio圖形編程
第5章結合實例詳解Windows標準控制項(教學視頻:37分鐘) 126
5.1簡單介紹Windows標準控制項 126
5.2學習按鈕控制項 128
5.2.1創建一個按鈕 128
5.2.2編輯按鈕的屬性與訊息類型 130
5.2.3回響按鈕的訊息 135
5.2.4調試及效果圖 137
5.3學習靜態控制項 137
5.3.1創建一個靜態文本框 137
5.3.2編輯靜態框的屬性與訊息類型 138
5.3.3回響控制項的訊息 139
5.3.4調試並展示效果圖 142
5.4學習編輯框控制項 143
5.4.1創建一個編輯框 143
5.4.2編輯控制項的屬性與訊息類型 144
5.4.3回響控制項的訊息 145
5.4.4調試並展示效果圖 147
5.5學習組合框控制項 147
5.5.1創建一個組合框 148
5.5.2編輯控制項的屬性與訊息類型 149
5.5.3回響控制項的訊息 150
5.5.4調試並展示效果圖 150
5.6學習進度條、滑塊控制項 151
5.6.1創建進度條 151
5.6.2使用進度條 151
5.6.3創建滑塊控制項 153
5.6.4使用滑塊控制項 154
5.6.5進度條、滑塊控制項編程實例 154
5.7簡單套用ActiveX控制項 155
5.7.1套用註冊表中已有的ActiveX控制項 155
5.7.2套用新下載的ActiveX控制項 160
5.8本章總結 160
5.9課後練習 161
第6章選單(教學視頻:17分鐘) 162
6.1建立選單 162
6.1.1認識選單的回響順序 162
6.1.2新建選單 163
6.1.3添加選單項 164
6.1.4加入選單項的訊息回響 165
6.2關聯選單項的各種動作 166
6.2.1標記選單項 166
6.2.2設定默認選單項 168
6.2.3創建圖形標記選單 168
6.2.4禁止子選單的選單選項 170
6.2.5取消整個選單 170
6.3給選單項設定快捷鍵 171
6.4調用對話框 172
6.4.1調用系統對話框 172
6.4.2調用自建對話框 177
6.5實例——動態創建選單 178
6.6本章總結 180
6.7課後練習 181
第7章編輯工具列和狀態欄(教學視頻:26分鐘) 182
7.1編輯工具列 182
7.1.1認識工具列 182
7.1.2增加和刪除工具列按鈕 183
7.1.3編輯工具列按鈕圖示 184
7.1.4回響工具列按鈕 187
7.2設定工具列的其他功能案例 188
7.2.1給工具列設標題 188
7.2.2為工具列按鈕添加下拉箭頭 188
7.2.3為工具列添加背景圖片 190
7.2.4為工具列按鈕設定熱點圖像 191
7.2.5添加按鈕提示信息 192
7.2.6為工具列關聯控制項 193
7.3編輯狀態欄 195
7.3.1創建狀態欄 195
7.3.2在狀態欄中添加進度條 197
7.3.3在狀態欄中添加時間 198
7.4本章總結 199
7.5課後練習 200
第8章圖形圖像(教學視頻:31分鐘) 201
8.1圖形設備接口和設備環境 201
8.1.1圖形設備接口 201
8.1.2設備環境 202
8.1.3MFC設備環境類對比分析 203
8.1.4GDI坐標系的映射模式 208
8.2繪圖工具——畫筆和畫刷 212
8.2.1畫筆及套用 212
8.2.2詳解運用畫筆實例 212
8.2.3畫刷及其套用 213
8.2.4詳解運用畫刷實例 213
8.3文本與字型 214
8.3.1繪製文本 214
8.3.2文本字元屬性信息的TEXTMETRIC結構 215
8.3.3字型的屬性 217
8.3.4運用字型實例 218
8.4點陣圖、圖示和游標 218
8.4.1MFC處理點陣圖實例 219
8.4.2MFC處理圖示實例 221
8.4.3MFC處理游標實例 223
8.5本章總結 229
8.6課後練習 230
第3篇VisualC++程式開發基礎篇
第9章數據檔案讀寫(教學視頻:53分鐘) 232
9.1運用CFile類實現數據檔案讀寫 232
9.1.1認識CFile類 232
9.1.2讀寫檔案 234
9.1.3檔案的打開/保存對話框 235
9.1.4複製、刪除和重命名檔案 237
9.1.5移動檔案指針 239
9.1.6查找檔案內容 241
9.2運用CArchive類實現數據檔案讀寫 242
9.2.1認識CArchive類 242
9.2.2緩衝區數據 243
9.2.3基本數據讀寫 244
9.3運用流對象實現數據檔案讀寫 246
9.3.1檔案輸入/出流 247
9.3.2打開/關閉檔案 247
9.3.3打開檔案模式 248
9.3.4讀寫文本檔案 249
9.3.5讀寫二進制檔案 253
9.3.6設定輸出數據的格式和結束標誌量 255
9.3.7移動讀寫檔案指針 257
9.4本章總結 259
9.5課後練習 259
第10章動態程式庫(教學視頻:25分鐘) 260
10.1概論 260
10.2靜態程式庫 262
10.3非MFCDLL 265
10.3.1聲明導出函式 266
10.3.2聲明導出類 269
10.3.3DLL的調用方式 270
10.3.4_stdcall約定 274
10.4MFC規則DLL 276
10.4.1對比介紹MFC規則DLL的兩種類型 276
10.4.2創建並調用MFC規則DLL 277
10.5MFC擴展DLL 280
10.6本章總結 281
10.7課後練習 281
第4篇VisualC++程式開發提高篇
第11章多執行緒(教學視頻:29分鐘) 284
11.1認識多執行緒 284
11.1.1什麼是進程 284
11.1.2什麼是執行緒 285
11.1.3套用多執行緒的好處 286
11.1.4套用多執行緒的一些缺點 287
11.1.5MFC對多執行緒編程的支持 288
11.2執行緒的管理和操作 289
11.2.1創建多執行緒 290
11.2.2執行緒的優先權 292
11.2.3執行緒的懸掛和恢復 295
11.2.4結束執行緒 297
11.3執行緒的同步 298
11.3.1提出問題——執行緒不同步怎么辦 298
11.3.2實現執行緒同步對象一:臨界區(CCriticalSection) 299
11.3.3實現執行緒同步對象二:事件(CEvent) 301
11.3.4實現執行緒同步對象三:互斥量(CMutex) 304
11.3.5實現執行緒同步對象四:信號量(CSemaphone) 306
11.4執行緒間通信 311
11.4.1執行緒間通信的目的 311
11.4.2利用用戶定義的訊息通信 311
11.4.3利用事件對象實現通信 314
11.5分析簡單的多執行緒程式 315
11.5.1一個簡單多執行緒應用程式——賣票 315
11.5.2MFC多執行緒編程實例 318
11.6本章總結 320
11.7課後練習 321
第12章網路編程(教學視頻:20分鐘) 322
12.1介紹基礎知識 322
12.1.1什麼是網路編程 322
12.1.2網路編程涉及的知識點 323
12.2網路協定 324
12.2.1什麼是網路協定 324
12.2.2介紹網路分層模型——ISO/OSI 325
12.2.3最流行的網路協定——TCP/IP 325
12.3套接字 326
12.3.1什麼是套接字 326
12.3.2套接字進行數據處理的兩種模式:同步和異步 327
12.4套接字的編程 328
12.4.1兩個伺服器/客戶端模型 328
12.4.2套接字編程要用的函式 329
12.4.3套接字編程實例 332
12.5進程間通信 335
12.5.1使用Windows剪貼簿通信 335
12.5.2使用匿名管道通信 338
12.5.3使用命名管道通信 343
12.5.4使用郵件槽通信 349
12.6本章總結 351
12.7課後練習 351
第13章資料庫編程(教學視頻:32分鐘) 353
13.1資料庫的基礎知識 353
13.1.1資料庫的定義 353
13.1.2資料庫的發展簡史 354
13.1.3介紹常用資料庫 354
13.2常用的資料庫編程技術 354
13.2.1MFCODBC資料庫開發技術 355
13.2.2ADO資料庫開發技術 360
13.3新建資料庫 363
13.4資料庫訪問控制項 367
13.4.1添加ADO數據控制項 367
13.4.2添加DataGrid控制項 369
13.4.3添加DataCombo和DataList控制項 369
13.5本章總結 370
13.6課後練習 371
第14章標準模板庫(STL)(教學視頻:14分鐘) 372
14.1概述STL 372
14.1.1什麼是標準模板庫STL 372
14.1.2STL和C++標準庫的關係 374
14.1.3STL的不同實現版本 375
14.2容器 375
14.2.1容器的概念 375
14.2.2容器的分類 376
14.2.3順序式容器 377
14.2.4關聯式容器 381
14.3疊代器 383
14.3.1疊代器的概念 383
14.3.2疊代器的基本操作 385
14.3.3編程實例 385
14.4算法 386
14.4.1copy算法 386
14.4.2sort算法 387
14.4.3套用示例 387
14.5本章總結 388
14.6課後練習 389
第15章電子書管理系統(教學視頻:25分鐘) 390
15.1系統設計 390
15.1.1系統設計思想 390
15.1.2系統功能模組劃分 390
15.2項目開發初期規劃階段 391
15.3分析系統登錄模組 392
15.3.1添加並編輯各個控制項的屬性 393
15.3.2實現繪製文本功能 393
15.3.3回響“退出”按鈕功能 394
15.3.4回響“修改登錄信息”按鈕功能 395
15.3.5回響“登錄”按鈕功能 397
15.4分析用戶資料管理模組 399
15.5分析電子書管理模組 401
15.5.1實現文本繪製及對話框的初始化 401
15.5.2實現連線資料庫的功能 405
15.5.3實現查詢功能 406
15.5.4實現添加功能 409
15.5.5實現刪除功能 413
15.5.6實現修改功能 414
15.5.7實現確定和取消功能 416
15.6常見問題 420
15.6.1E_bookDlg類 420
15.6.2Book_material類 420
VisualC++入門很簡單
目錄