內容簡介
《Visual C++入門與提高》是一本全面介紹Visual C++的圖書。 《Visual C++入門與提高》由20章組成,分4個部分講述了VC++開發工具的使用、使用VC++開發MFC程式、使用VC++開發應用程式、使用VC++開發實際項目,並全面介紹了使用網路編程知識開發遠程監控程式,使用資料庫編程相關知識開發管理信息系統等。
《Visual C++入門與提高》內容翔實、實例豐富,適合VC++程式開發初學者及希望學習VC++編程的人員學習,也適合作為大專院校師生及相關培訓班的學員使用。
目錄
第一篇 VC++基礎知識
第1章 IDE安裝與使用1
1.1 安裝VisualC++6.0環境1
l.1.1 安裝VC++6.0l
1.1.2 安裝MSDN2
1.2 創建一個Console應用程式2
1.3 使用MSDN查找幫助信息4
1.4 調試自己的程式5
1.5 小結5
第2章 回顧C++6
2.1 結構體與類6
2.2 類成員的訪問類型7
2.3 this指針7
2.4 函式重載8
2.5 構造函式9
2.6 析構函式10
2.7 靜態成員12
2.7.1 定義及操作靜態成員12
2.7.2 操作靜態成員的條件13
2.8 繼承13
2.8.1 從Student類派生3種新學生類14
2.8.2 子類對象的構造函式16
2.8.3 覆蓋父類的方法17
2.8.4 虛函式18
2.8.5 虛析構函式20
2.9 類的實現和定義分離22
2.10 STI——標準模板庫,方便的數據結構25
2.10.1 向量vector25
2.10.2 雙端佇列deque26
2.10.3 鍊表list27
2.10.4 集合set.28
2.10.5 映射map29
2.1l 編程規範——匈牙利表示法30
2.11.1 變數的命名30
2.11.2 函式的命名30
2.1l.3 類別的命名31
2.11.4 常量的命名3l
2.12 小結3l
第3章 告別Conso Ie進入windows32
3.1 創建第一個Windows應用程式32
3.2 與標準c++的不同35
3.2.1 入口函式不同35
3.2.2 數據類型的不同36
3.2.3 Win32 API函式36
3.3 視窗的產生37
3.3.1 使用WNDCLASSEX結構體構造視窗類別37
3.3.2 使用Register ClassEx註冊視窗類別37
3.3.3 使用Create Window創建視窗38
3.3.4 Show Window顯示視窗及Update Window更新視窗38
3.3.5 編寫訊息循環38
3.3.6 編寫視窗過程函式39
3.4.Windows事件驅動39
3.5 簡單的GDI操作40
3.6 套用案例——跟蹤滑鼠在視窗上的坐標40
3.6.1 案例需求4l
3.6.2 案例效果圖4l
3.6.3 需要掌握的知識點41
3.6.4 開發過程4l
3.7 小結42
第二篇 M F c編程
第4章 文檔應用程式43
4.1 使用.App Wizard——應用程式嚮導創建單文檔程式43
4.2 MFC程式框架分析45
4.2.1 the App全局對象46
4.2.2 MFC中的Win Main函式46
4.2.3 視窗的句柄46
4.3 框架視窗一47
4.3.1 框架視窗的重要成員函式47
4.3.2 改變視窗狀態48
4.4 文檔模板50
4.5 文檔的序列化50
4.5.1 MFC文檔讀寫機制50
4.5.2 示例——建立可序列化的類51
4.6 文檔視圖結構54
4.6.1 一般視圖類的使用54
4.6.2 文檔與視圖的相互訪問55
4.6.3 切分視窗55
4.7 MFC的編程的核心——訊息映射57
4.7.1 使用類嚮導添加訊息處理57
4.7.2 手動添加訊息映射58
4.8 選單編程59
4.8.1 使用資源視圖設計選單59
4.8.2 回響選單訊息60
4.8.3 更改應用程式選單61
4.8.4 使用快捷選單(右鍵選單)63
4.9 工具列編程64
4.9.1 使用工具列編輯器64
4.9.2 工具列選單結合64
4.9.3 多個工具列使用65
4.10 狀態欄編程67
4.10.1 狀態欄的定義67
4.10.2 狀態欄的常用操作68
4.11 小結71
第5章 對話框編程72
5.1 創建一個對話框程式72
5.1.1 使用AppWizard——應用程式嚮導創建對話框程式72
5.1.2 在對話框中添加控制項73
5.1.3 通過修改對話框屬性改變對話框樣式73
5.1.4 簡單的控制項編程74
5.2 數據交換(DDX)與數據驗證(DDV)74
5.2.1 使用控制項類獲得控制項數據74
5.2.2 使用數據交換(DDX)機制獲得控制項數據75
5.2.3 數據驗證(DDV)77
5.3 添加對話框資源78
5.4 對話框類型79
5.4.1 模態對話框79
5.4.2 非模態對話框79
5.5 通用對話框80
5.5.1 示例——使用檔案選擇對話框C File Dialog類打開檔案80
5.5.2 示例——使用顏色選擇對話框C Color Dialog類改變顏色8l
5.6 套用案例——檔案分割工具製作83
5.6.1 案例效果圖83
5.6.2 需要掌握的知識點83
5.6.3 檔案操作83
5.6.4 開發過程84
5.6.5 Enter鍵調用On OK函式91
5.7 小結91
第6章 常用控制項92
6.1 靜態控制項92
6.1.1 靜態文本控制項92
6.1.2 組框92
6.1.3 靜態圖片92
6.1.4 靜態控制項的其他用途92
6.2 按鈕93
6.2.1 單選按鈕93
6.2.2 複選框94
6.2.3 示例——用戶註冊信息審查94
6.3 文本框和微調按鈕97
6.3.1 通過修改文本框屬性改變文本框樣式97
6.3.2 通過回響訊息來操作文本框97
6.3.3 文本框與微調按鈕配合使用97
6.4 列表框和組合框98
6.4.1 列表框的常用屬性98
6.4.2 列表框的常用操作方法98
6.4.3 組合框98
6.4.4 示例——檔案列表對話框製作99
6.5 列表控制項101
6.5.1 為列表控制項添加表列102
6.5.2 為列表控制項添加表項103
6.5.3 列表控制項的擴展屬性105
6.5.4 列表控制項的排序105
6.5.5 示例——帶有排序與自繪製表頭工程的列表控制項105
6.6 樹控制項109
6.6.1 添加刪除樹控制項節點109
6.6.2 示例——樹控制項使用演示110
6.7 標籤控制項111
6.8 小結lll
第7章 圖形設備接口GDl112
7.1 回顧前面的例子112
7.2 GDI操作函式112
7.2.1 繪製文本Text Out和Dmw Text112
7.2.2 繪製點SetPixel113
7.2.3 繪製直線Move To Ex和Linle To113
7.2.4 繪製橢圓Ellipse114
7.2.5 繪製矩形Ffll Rect與R~~mgle114
7.3 坐標映射114
7.4 MFC中封裝的GDI115
7.4.1 使用CDC、CClient DC和CWindow DC繪製圖形115
7.4.2 示例——使用Cclient DC繪製橢圓115
7.5 字型116
7.5.1 創建字型116 7.5.2設定字型116
7.6 畫筆117
7.7 畫刷117
7.8 點陣圖117
7.8.1 裝載點陣圖117
7.8.2 顯示點陣圖118
7.8.3 示例——顯示點陣圖119
7.9 套用案例——自繪製按鈕製作122
7.9.1 案例效果圖122
7.9.2 需要掌握的知識點122
7.9.3 控制項皮膚編程原理122
7.9.4 開發過程122
7.10 套用案例自繪製表頭的列表控制項126
7.10.1 案例效果圖127
7.10.2 開發過程127
7.11 小結131
第8章 Act i vex控制項製作132
8.1 創建ActiveX控制項132
8.2 使用IDE帶的工具測試AOiveX控制項133
8.3 如何在程式中使用.AcfiveX控制項133
8.4 ActiveX控制項設計135
8.4.1 為ActiveX控制項添加屬性135
8.4.2 為ActiveX控制項添加方法137
8.5 示例——製作PictureBox控制項138
8.6 小結140
第三篇 實戰開發必備
第9章 動態連線庫DLL141
9.1 示例——編寫簡單的DLI141
9.2 導入導出DLL中的函式142
9.2.1 用DLL導出函式142
9.2.2 在程式中導入DLL中的函式143
9.3 DLL中導出類143
9.4 如何調試DLL144
9.5 MFC動態程式庫及其使用147
9.5.1 創建擴展。MFC DLL147
9.5.2 導入MFC DLI中的類148
9.6 套用案例——將自繪製按鈕從MFC DLL.中導出149
9.7 小結149
第10章 HOOK編程150
10.1 編寫一個簡單的HOOK程式150
10.1.1 安裝鉤子150
10.1.2 使用HOOK函式處理截獲的訊息151
10.1.3 示例——截獲當前程式的按鍵訊息151
10.2 全局HOOK153
10.2.1 編寫全局鉤子DLL153
10.2.2 使用程式調用DLL啟動鉤子155
10.3 套用案例——探索黑客盜取密碼的原理156
10.3.1 需要掌握的知識點156
10.3.2 獲取密碼的原理156
10.3.3 滑鼠鉤子156
10.3.4 開發密碼查看器過程157
10.4 小結159
第11章 多執行緒編程160
11.1 如何創建執行緒160
11.1.1 使用CreateThread創建一個執行緒160
11.1.2 編寫執行緒函式161
11.1.3 示例——創建一個執行緒16l
11.1.4 示例——創建多個執行緒模擬機票訂購162
11.2 執行緒同步164
11.2.1 執行緒之間切換——時間片165
11.2.2 使用互斥對象來同步執行緒166
11.2.3 示例——修改多執行緒例子使用互斥對象對其進行同步166
11.2.4 示例——使用命名互斥對象判斷程式是否多次運行168
11.3 執行緒同步的其他方法169
11.3.1 示例——使甩事件對象完成執行緒的同步170
11.3.2 示例——使用臨界區完成執行緒的同步171
11.4 執行緒同步導致的死鎖及預防173
11.4.1 示例——使用臨界區時意外退出導致死鎖173
11.4.2 預防死鎖175
11.5 套用案例——使用多執行緒完善檔案分割工具175
11.5.1 案例效果圖175
11.5.2 需要掌握的知識點175
11.5.3 開發過程175
11.6 小結180
第12章 Socket網路編程181
12.1 BS模式與CS模式181
12.2 Winsock庫的裝入和釋放181
12.3 使用sockaddrjn保存客戶的地址181
12.3.1 主機位元組序到網路位元組序之間的轉化182
12.3.2 示例——獲取本機IP位址182
12.3.3 示例——域名解析183
12.4 TCP套接字的伺服器與客戶端設計184
12.4.1 ICP伺服器與客戶端過程圖1 84
12.4.2 示例——簡單的TCP伺服器185
12.4.3 示例——簡單的TCP客戶端186
12.5 UDP套接字編程187
12.5.1 UDP伺服器與客戶端過程圖188
12.5.2 示例——基於UDP的伺服器實現188
12.5.3 示例——基於UDP的客戶端實現189
12.6 套接字模式191
12.6.1 阻塞模式191
12.6.2 非阻塞模式191
12.7 select模型應甩——管理多個套接字19l
12.7.1 select函式的使用及相關宏191
12.7.2 示例——可以管理多個套接字的。TCP伺服器192
12.8 WSAAsyncSelect模型套用——管理多個套接字194
12.8.1 WSAAsyncSelect的使用方法194
12.8.2 示例——可以管理多個套接字的TCP伺服器195
12.9 廣播通信198
12.9.1 設定套接字選項198
12.9.2 示例——廣播的傳送端與接收端198
12.10 套用案例一利用廣播開發區域網路聊天室200
12.10.1 案例效果圖200
12.10.2 開發過程201
12.11 小結204
第13章 ADO資料庫編程205
13.1 使用ADO開發程式205
13.1.1 使用ADO庫之前的準備工作205
13.1.2 使用Connection對象連線資料庫205
13.1.3 向資料庫伺服器提交SQL語句206
13.1.4 使用Recordset對象獲取