基本信息
叢書名: 程式設計師書庫
上架時間:2011-1-21
出版日期:2011 年1月
開本:16開
頁碼:442
內容簡介
vc是微軟公司精心打造的集成開發環境,使用vc 6.0可以自由地開發mfc應用程式、win32應用程式、dll組件和web服務程式等。本書通過五篇來詳解vc工具和c++語言。第一篇介紹了vc開發環境和c++語法基礎。第二篇介紹了mfc基礎知識,如訊息映射、gdi函式、對話框、activex控制項等。第三篇更深入地介紹了mfc的一些專業開發知識,如選單欄、工具列、狀態欄、文檔視圖、列印、上下文相關幫助、動態程式庫(dll)等。第四篇講解了自動化、組件對象模型、ole db等vc的高級套用。第五篇是套用項目的實踐,包括資料庫開發基礎和網路開發基礎,還給出了3個案例的開發過程。
本書詳細介紹了使用vc進行c++程式設計的技巧,從c++語言理論講解,到mfc庫的使用和com組件等擴展知識的剖析,突出了理論嚴謹性和程式實用性。本書包含大量實例,詳細描述實例開發過程,挖掘理論實踐要點。本書適合需要利用vc 6.0進行應用程式開發的讀者閱讀,也可以作為開發人員的參考手冊,以便隨時進行查閱。
目錄
叢書序
前言
第一篇 c++、vc 6.0和應用程式框架基礎
第1章 vc 6.0開發環境和應用程式框架 1
1.1 安裝並使用vc 6.0 1
1.1.1 什麼是vc 6.0集成開發環境 1
1.1.2 安裝vc 6.0 2
1.1.3 vc 6.0開發環境的主界面 4
1.1.4 使用嚮導創建vc 6.0應用程式項目 5
1.2 認識vc 6.0 7
1.2.1 c/c++編譯器及編譯過程 7
1.2.2 編輯器 8
1.2.3 資源編輯器和資源符號 8
1.2.4 連線器和調試器 9
1.2.5 學習vc 6.0的主要選單功能 9
1.2.6 項目和解決方案 15
1.2.7 本機幫助和在線上幫助 15
1.3 win32基本應用程式的創建 16
1.3.1 使用appwizard應用程式嚮導創建win32程式 16
1.3.2 生成win32應用程式 17
.1.3.3 vc 6.0的調試:變數跟蹤和函式調用棧 21
1.4 microsoft應用程式框架 22
1.4.1 全局對象 22
1.4.2 mfc的訊息映射和訊息分類 23
1.5 實例1.1—編寫第一個c++程式:hello, c++! 23
1.6 實例1.2—創建第一個mfc程式:hello, mfc! 25
1.7 小結 26
1.8 常見面試題分析 26
1.9 本章習題 26
第2章 c++語法基礎 27
2.1 認識c++開發語言 27
2.1.1 c++的由來 27
2.1.2 使用c++語言的優勢 28
2.2 數據類型定義和使用 28
2.2.1 變數 28
2.2.2 數據類型 29
2.2.3 算術運算符 32
2.2.4 枚舉、指針和數組 33
2.2.5 string類和c風格字元串 36
2.2.6 結構體類型 38
2.2.7 類類型 39
2.2.8 實例2.1—成績管理系統(1.0版) 43
2.3 運算符、表達式和語句 46
2.3.1 “[[”和“]]”運算符 47
2.3.2 “++”和“--”運算符 47
2.3.3 循環語句:for語句、while語句和do...while語句 48
2.3.4 判斷語句:if語句和switch語句 50
2.3.5 實例2.2—成績管理系統(2.0版) 54
2.4 函式定義和調用 57
2.4.1 定義函式和函式原型 57
2.4.2 函式通過指針來調用數組 58
2.4.3 函式指針 59
2.4.4 具有引用參數的函式 60
2.4.5 函式重載 62
2.4.6 函式模板的定義和使用 63
2.4.7 實例2.3—成績管理系統(3.0版) 64
2.5 類的定義和對象構造 67
2.5.1 自然界中的類型和c++的類定義 67
2.5.2 實現類成員函式 69
2.5.3 實例化類對象並使用 71
2.5.4 類的構造函式和析構函式 71
2.5.5 運算符重載與this指針的使用 74
2.5.6 友元函式和友元類 75
2.5.7 實例2.4—成績管理系統(4.0版) 78
2.6 類繼承 82
2.6.1 is-a關係 82
2.6.2 多態公有繼承 84
2.6.3 protected訪問控制 86
2.6.4 抽象基類 87
2.6.5 私有繼承和保護繼承 88
2.6.6 多繼承 88
2.6.7 類模板 89
2.7 c++異常機制 90
2.7.1 異常處理類型 90
2.7.2 exception類 92
2.8 標準模板庫(stl) 93
2.8.1 auto_ptr類的使用 93
2.8.2 vector模板類的定義和使用 93
2.8.3 通用算法 95
2.8.4 實例2.5—成績管理系統(5.0版) 96
2.9 i/o流和檔案 101
2.9.1 c++的輸入和輸出 101
2.9.2 檔案輸入和輸出 101
2.9.3 實例2.6—在vc 6.0中創建c++源檔案,使用磁碟檔案讀寫 102
2.10 小結 103
2.11 常見面試題分析 104
2.12 本章習題 105
第二篇 mfc基礎
第3章 windows訊息映射 107
3.1 視圖類 107
3.1.1 什麼是視圖 107
3.1.2 mfc程式中的視圖類 107
3.2 應用程式的類型 108
3.3 資源編輯器 109
3.4 mfc應用程式中的各種子功能 110
3.5 訊息映射函式和windows映射模式 113
3.5.1 獲取用戶單擊和輸入 113
3.5.2 mm_text映射模式 113
3.5.3 固定比例映射模式 114
3.5.4 可變比例映射模式 114
3.5.5 坐標轉換 114
3.6 其他windows訊息 115
3.7 實例3.1—訊息映射函式的使用 115
3.8 小結 118
3.9 常見面試題分析 118
3.10 本章習題 119
第4章 gdi函式 120
4.1 設備環境類 120
4.1.1 認識cdc類 120
4.1.2 cdc派生類:cpaintdc類 120
4.1.3 cdc派生類:cclientdc類 121
4.1.4 cdc類對象的行為函式 121
4.2 gdi對象的構造和使用 123
4.3 字型選擇和顯示 124
4.4 實例4.1—字型的使用 124
4.5 gdi點陣圖和dib點陣圖 126
4.6 實例4.2—點陣圖的使用 127
4.7 小結 130
4.8 常見面試題分析 131
4.9 本章習題 131
第5章 對話框 132
5.1 兩種不同類型的對話框 132
5.2 實例5.1—計算器軟體的開發 132
5.3 實例5.2—模式對話框的創建和使用 136
5.4 windows通用對話框 139
5.4.1 cfiledialog類—檔案打開對話框的使用 139
5.4.2 ccolordialog類—調色板對話框的使用 140
5.4.3 cfindreplacedialog類—字詞查找和替換對話框的使用 141
5.4.4 cpagesetupdialog類—頁面設定對話框的使用 142
5.4.5 cfontdialog類—字型設定對話框的使用 142
5.4.6 cprintdialog類—列印設定對話框的使用 143
5.5 無模式對話框 144
5.6 小結 145
5.7 常見面試題分析 145
5.8 本章習題 146
第6章 控制項 147
6.1 vc 6.0資源和通用控制項 147
6.2 vc 6.0的控制項工具箱 147
6.3 實例6.1—簡單控制項的使用 149
6.4 標準通用控制項 152
6.4.1 進度指示器控制項 152
6.4.2 滑塊控制項 152
6.4.3 列表控制項 153
6.4.4 樹狀控制項 153
6.5 實例6.2—標準通用控制項的使用 154
6.6 實例6.3—成績管理系統(6.0版-windows版) 157
6.7 小結 170
6.8 常見面試題分析 170
6.9 本章習題 171
第7章 windows的基本輸入 172
7.1 鍵盤訊息及其處理 172
7.1.1 鍵盤訊息的處理 172
7.1.2 鍵盤訊息處理函式 173
7.1.3 實例7.1—鍵盤訊息處理 174
7.2 滑鼠訊息及其處理 177
7.2.1 滑鼠訊息的處理 177
7.2.2 滑鼠訊息處理函式 178
7.2.3 實例7.2—滑鼠訊息處理(五子棋遊戲) 179
7.3 小結 190
7.4 常見面試題分析 190
7.5 本章習題 191
第8章 activex控制項 192
8.1 activex控制項的特殊性 192
8.1.1 activex控制項和普通控制項的相同點 192
8.1.2 activex控制項和普通控制項的不同點 192
8.2 安裝activex控制項 193
8.3 實例8.1—activex控制項:日曆控制項的創建 194
8.4 activex控制項在web編程中的使用 195
8.5 圖形屬性和變化通知 196
8.6 小結 196
8.7 常見面試題分析 196
8.8 本章習題 197
第三篇 深入學習mfc
第9章 選單和框架視窗 199
9.1 windows應用程式的框架視窗 199
9.2 windows選單和mfc選單編輯器 200
9.3 windows應用程式的快捷鍵 200
9.4 命令處理的使用 201
9.5 富文本編輯 202
9.5.1 編輯視圖類:ceditview類 202
9.5.2 富文本編輯視圖類:cricheditview類 202
9.5.3 富文本編輯控制項類:cricheditctrl類 203
9.6 實例9.1—快捷鍵和文本編輯使用 203
9.6.1 基本框架和界面實現 203
9.6.2 快捷鍵設計 205
9.6.3 存儲和顯示文檔類中的文本 205
9.6.4 選項卡對話框的設計 206
9.6.5 視圖類的功能實現 208
9.6.6 運行效果和實踐小結 210
9.7 屬性表的開發過程 210
9.8 滑鼠右鍵調用的浮動快捷選單 211
9.9 cpersistentframe持續信息類的使用 212
9.10 使用activateframe()成員函式設定視窗尺寸和位置 213
9.11 創建視窗之前的工作:precreatewindow成員函式 213
9.12 控制欄狀態和windows註冊表 214
9.13 mdi應用程式和持續框架 214
9.14 小結 215
9.15 常見面試題分析 215
9.16 本章習題 216
第10章 工具列和狀態欄 217
10.1 mfc應用程式框架和控制欄 217
10.2 工具列按鈕 217
10.2.1 工具列點陣圖和按鈕的狀態 218
10.2.2 命令訊息和更新命令控制函式 218
10.3 工具列提示信息 219
10.4 實例10.1—使用工具列的應用程式 219
10.5 狀態欄的定義和顯示 222
10.5.1 狀態欄的定義 222
10.5.2 信息行的顯示 223
10.5.3 狀態指示器 223
10.6 實例10.2—使用狀態欄的程式設計 224
10.7 小結 225
10.8 常見面試題分析 226
10.9 本章習題 228
第11章 文檔和視圖的分離 229
11.1 文檔和視圖相互作用的函式 229
11.1.1 獲取當前文檔:cview::getdocument()函式 229
11.1.2 更新所有視圖:cdocument::updateallviews()函式 230
11.1.3 視圖自我更新:cviews::onupdate()函式 230
11.1.4 初始化更新界面:cview::oninitialupdate()函式 230
11.1.5 創建新文檔:cdocument::onnewdocument()函式 230
11.2 一個簡單的文檔視圖應用程式的創建和分析 230
11.3 cview類的派生類 231
11.4 mfc類家族的始祖—cobject類 232
11.5 診斷信息轉儲基礎 232
11.5.1 trace宏的使用 232
11.5.2 afxdump對象的使用 233
11.5.3 mfc的信息轉儲環境 233
11.6 實例11.1—使用診斷信息進行文檔視圖互動 235
11.6.1 項目創建和界面設計 235
11.6.2 cworker類的設計 236
11.6.3 診斷信息和文檔視圖互動功能的實現 239
11.7 高級的文檔和視圖互動 241
11.8 coblist集合類 242
11.9 實例11.2—一個多視圖的sdi應用程式 244
11.9.1 項目創建和界面設計 244
11.9.2 編寫文檔代碼 244
11.9.3 編寫視圖代碼 245
11.10 小結 247
11.11 常見面試題分析 247
11.12 本章習題 249
第12章 文檔的讀和寫 250
12.1 序列化理論 250
12.1.1 磁碟檔案和記憶體檔案 250
12.1.2 類的序列化 251
12.1.3 編寫serialize()函式 251
12.2 windows應用程式對象 252
12.3 實例12.1—支持序列化的應用程式 252
12.3.1 創建支持序列化的mfc應用程式 253
12.3.2 重寫cobject基類的序列化函式 253
12.3.3 編寫界面功能 254
12.3.4 開發序列化和反序列化功能 255
12.4 應用程式在windows中註冊 257
12.5 mdi應用程式 258
12.5.1 mdi應用程式對象 258
12.5.2 mdi文檔模板類 258
12.5.3 mdi視窗類型 258
12.5.4 創建文檔 259
12.6 實例12.2—mdi應用程式的創建 259
12.7 mti支持 260
12.8 小結 261
12.9 常見面試題分析 261
12.10 本章習題 262
第13章 切分視窗和多視圖 263
13.1 動態和靜態切分視窗 263
13.2 關於視圖的選擇 263
13.3 實例13.1—簡單動態切分視窗應用程式的創建 264
13.4 實例13.2—多視圖的靜態切分視窗的開發 266
13.5 實例13.3—多視圖切換的開發 268
13.6 小結 270
13.7 常見面試題分析 270
13.8 本章習題 271
第14章 列印功能 272
14.1 windows環境下的列印功能 272
14.2 列印預覽 272
14.3 列印程式設計的相關接口 273
14.3.1 印表機設備環境 273
14.3.2 列印函式:cview::onprint()函式 273
14.3.3 列印程式的執行過程 273
14.4 實例14.1—列印應用程式的創建和使用 274
14.5 實例14.2—多頁列印應用程式的創建和使用 277
14.6 小結 280
14.7 常見面試題分析 280
14.8 本章習題 281
第15章 上下文相關幫助 282
15.1 簡易winhelp的製作 282
15.2 應用程式框架winhelp 284
15.2.1 調用winhelp 284
15.2.2 使用搜尋功能 284
15.2.3 訊息框幫助 285
15.3 實例15.1—幫助示例 285
15.4 幫助快捷鍵和選單命令 287
15.4.1 使用f1快捷鍵 287
15.4.2 通過選單命令調用幫助過程 287
15.5 小結 288
15.6 常見面試題分析 288
15.7 本章習題 288
第16章 動態程式庫(dll) 289
16.1 dll理論基礎 289
16.1.1 dll導入和導出的原理 290
16.1.2 隱式和顯式連線 290
16.1.3 符號和序號連線 290
16.1.4 dllmain()函式 291
16.2 正規的mfc dll和擴展的mfc dll 291
16.2.1 正規的dll 291
16.2.2 擴展的dll 293
16.3 自定義控制項dll 294
16.4 實例16.1—創建和使用自定義控制項dll 295
16.4.1 創建項目 296
16.4.2 添加功能代碼 296
16.4.3 創建客戶程式測試自定義控制項 298
16.5 小結 299
16.6 常見面試題分析 300
16.7 本章習題 300
第17章 mfc類家族 301
17.1 mfc類家族結構 301
17.2 mfc運行機制 302
17.3 mfc家族分支 303
17.3.1 cview視圖類分支 303
17.3.2 cdc畫圖類分支 304
17.3.3 cexception異常類分支 305
17.3.4 cgdiobject類分支 306
17.3.5 套接字類分支 307
17.4 非cobject派生類 307
17.4.1 簡單類型類 307
17.4.2 internet server api類 308
17.5 小結 308
17.6 常見面試題分析 309
17.7 本章習題 309
第四篇 自動化、com和ole db
第18章 自動化 311
18.1 什麼是vba 311
18.2 vba與c++組件 312
18.3 自動化接口 312
18.4 mfc自動化組件 313
18.5 實例18.1—mfc自動化的使用 314
18.5.1 創建mfc dll自動化項目 315
18.5.2 添加自動化類和成員函式 315
18.5.3 在windows中註冊自定義的動態程式庫 317
18.5.4 使用非vc應用程式調用自定義dll 318
18.5.5 實例小結 319
18.6 variant類型 319
18.7 封裝variant類型:colevariant類 321
18.8 實例18.2—使用excel自動化的實例 322
18.8.1 準備工作:創建mfc 323
18.8.2 加入自動化代碼 323
18.8.3 添加組件類 324
18.8.4 編寫客戶端宏腳本 325
18.9 小結 327
18.10 常見面試題分析 327
18.11 本章習題 328
第19章 組件對象模型(com) 329
19.1 什麼是com 329
19.2 com接口 330
19.3 實例19.1—com的使用 331
19.3.1 使用vc 6.0創建atl com應用程式 332
19.3.2 創建新的atl對象 332
19.3.3 實現_idtextensibility2接口 333
19.3.4 通知office並載入組件接口 333
19.3.5 導入office接口檔案 334
19.3.6 完成功能代碼 335
19.3.7 運行效果和小結 337
19.4 com的包容、集合和繼承 337
19.5 小結 338
19.6 常見面試題分析 338
19.7 本章習題 338
第20章 ole db 339
20.1 ole db對象模型 339
20.2 ole db模板的基本結構 340
20.3 ole db客戶資料庫訪問的兩種途徑 341
20.3.1 以mfc appwizard(exe)為嚮導建立ole db客戶程式框架 341
20.3.2 以atl com appwizard為嚮導建立ole db客戶程式框架 343
20.4 小結 345
20.5 常見面試題分析 346
20.6 本章習題 346
第五篇 軟體研發實踐
第21章 資料庫編程基礎 347
21.1 資料庫開發技術簡介 347
21.1.1 當今常用的幾種資料庫管理系統(dbms) 347
21.1.2 關係代數與資料庫sql語言 348
21.1.3 規範化和資料庫表設計常見的問題 350
21.1.4 ado、dao和odbc技術簡介 351
21.2 在vc 6.0中使用odbc進行資料庫連結 352
21.2.1 odbc概述 352
21.2.2 odbc類的使用 352
21.2.3 odbc資料庫操作 354
21.3 在vc 6.0中使用ado進行資料庫連結 355
21.3.1 ado概述 355
21.3.2 ado連線套用 356
21.3.3 ado資料庫操作 357
21.4 小結 359
21.5 常見面試題分析 359
21.6 本章習題 360
第22章 網路編程基礎 361
22.1 tcp/ip協定簡介 361
22.2 windows sockets基礎 362
22.2.1 套接字概述 363
22.2.2 winsock api常用函式 363
22.2.3 mfc對winsock api的封裝 364
22.3 b/s模式和c/s模式 364
22.3.1 什麼是b/s和c/s模式 364
22.3.2 c/s與b/s的區別 365
22.4 區域網路技術 366
22.4.1 網卡地址 366
22.4.2 獲取計算機名稱和ip 366
22.5 信息打包和傳送 367
22.6 小結 368
22.7 常見面試題分析 368
22.8 本章習題 369
第23章 多執行緒http下載工具製作 370
23.1 案例效果圖 370
23.2 案例需求 370
23.3 需要掌握的知識點 370
23.4 mfc中的wininet 371
23.4.1 使用mfc wininet下載檔案過程 371
23.4.2 實例23.1—簡單使用mfc wininet讀取網頁原始碼 372
23.4.3 實例解析 374
23.5 ie右鍵選單原理 376
23.5.1 ie右鍵選單對應的註冊表 376
23.5.2 編寫javascript啟動程式 376
23.6 開發過程 379
23.6.1 獲得命令行參數 379
23.6.2 多執行緒下載類設計 379
23.6.3 使用cdownloadthreadmanager下載資源 387
23.6.4 統計下載速度與下載用時 391
23.7 小結 392
第24章 遠程控制軟體製作 393
24.1 案例效果圖 393
24.2 案例需求和知識點 393
24.2.1 案例需求 393
24.2.2 需要掌握的知識點 393
24.3 圖像傳輸最佳化方法 394
24.4 模擬滑鼠動作 394
24.5 開發過程 395
24.5.1 伺服器端結構分析 395
24.5.2 伺服器端gdi結構與鍊表設計 395
24.5.3 初始化gdi鍊表與清理gdi鍊表 397
24.5.4 啟動服務接收網路事件 399
24.5.5 保證傳送接收大小 401
24.5.6 通信協定設計 402
24.5.7 傳送圖像數據 403
24.5.8 客戶端結構分析 408
24.5.9 客戶端創建 408
24.5.10 客戶端gdi結構與鍊表設計 409
24.5.11 連線伺服器 410
24.5.12 獲取及顯示遠程圖像 412
24.5.13 傳送滑鼠事件 416
24.6 小結 417
第25章 學生成績管理系統開發 418
25.1 系統結構分析 418
25.2 案例需求 418
25.3 資料庫設計 419
25.4 案例效果圖 422
25.5 需要掌握的知識點 424
25.6 使用datagrid控制項顯示數據 424
25.6.1 添加datagrid控制項 424
25.6.2 程式中使用datagrid控制項 425
25.7 開發過程 425
25.7.1 準備工作 426
25.7.2 登錄視窗 426
25.7.3 主視窗 428
25.7.4 管理成績信息視窗 430
25.7.5 管理分數對話框 433
25.7.6 審核視窗 438
25.8 小結 442