圖書信息
叢書名: 編程紅寶書
平裝: 430頁
正文語種: 簡體中文
開本: 16
ISBN: 9787111256540
條形碼: 9787111256540
尺寸: 25.6 x 20.2 x 2.4 cm
重量: 939 g
內容簡介
《Visual C++完全自學手冊》的特點是詳細介紹了使用VC6.0進行C++程式設計,從C++語言理論,到MFC庫的使用和COM組件等擴展知識的剖析,突出了理論嚴謹性和程式實用性。
Visual C++6.0(以下簡稱VC6.0)是微軟精心打造的集成開發環境,使用VC6.0可以自由地開發MFC應用程式、Win32應用程式、DLL組件和Web服務程式等。VC6.0的核心是MFC庫,《Visual C++完全自學手冊》著重介紹MFC庫的原理和使用方法,循環漸進地講解了MFC庫的知識,從基本概念到具體實踐、從理論本質到具體操作、從小型實例到大中型綜合實例。在《Visual C++完全自學手冊》的各個知識點中,都會給出相應的實例進行知識點的鞏固和提高,通過實踐練習來消化知識點和相關套用。
《Visual C++完全自學手冊》適合需要學習VC6.O進行應用程式開發的讀者閱讀,也可以作為開發人員的參考手冊隨時進行查閱。
目錄
寫給自學編程的人員
前言
第一篇 C++、VC6.0和應用程式框架基礎
第1章 VC6.0開發環境和應用程式框架 1
1.1 安裝並測試VC6.0 1
1.1.1 VC6.0的安裝 1
1.1.2 VC6.0開發環境 6
1.1.3 VC6.0應用程式嚮導和項目創建 7
1.2 VC6.0簡介 10
1.2.1 C/C++編譯器 11
1.2.2 編輯器 11
1.2.3 資源編輯器和資源符號 12
1.2.4 連線器和調試器 13
1.2.5 VC6.0的主要選單項功能 13
1.2.6 項目和解決方案 21
1.2.7 本機幫助和在線上幫助 21
1.3 Win32基本應用程式的創建 22
1.3.1 使用AppWizard應用程式嚮導 22
1.3.2 Win32應用程式的生成 22
1.3.3 VC6.0的調試:變數跟蹤和函式調用棧 27
1.4 Microsoft應用程式框架 28
1.4.1 全局對象 28
1.4.2 MFC的訊息映射和訊息分類 29
1.5 實例1.1-編寫第一個C++程式:Hello, C++! 29
1.6 實例1.2-創建第一個MFC程式:Hello, MFC! 32
1.7 小結 33
第2章 C++語法基礎 34
2.1 C++簡介 34
2.2 數據類型定義和使用 35
2.2.1 簡單變數 35
2.2.2 算術運算符 39
2.2.3 枚舉、指針和數組 40
2.2.4 string類和C風格字元串 43
2.2.5 結構體類型 44
2.2.6 類類型 46
2.2.7 實例2.1-成績管理系統(1.0版) 49
2.3 運算符、表達式和語句 54
2.3.1 幾種常用的運算符 54
2.3.2 循環語句:for語句、while語句和do...while語句 55
2.3.3 判斷語句:if語句和switch語句 57
2.3.4 實例2.2-成績管理系統(2.0版) 61
2.4 函式定義和調用 64
2.4.1 定義函式和函式原型 64
2.4.2 函式通過指針來調用數組 65
2.4.3 函式指針 66
2.4.4 具有引用參數的函式 67
2.4.5 函式重載 70
2.4.6 函式模板的定義和使用 71
2.4.7 實例2.3-成績管理系統(3.0版) 72
2.5 類的定義和對象構造 74
2.5.1 自然界中的類型和C++的類定義 74
2.5.2 實現類成員函式 76
2.5.3 實例化類對象並使用 78
2.5.4 類的構造函式和析構函式 79
2.5.5 運算符重載與this指針的使用 81
2.5.6 友元函式和友元類 83
2.5.7 實例2.4-成績管理系統(4.0版) 86
2.6 類繼承 90
2.6.1 is-a關係 90
2.6.2 多態公有繼承 92
2.6.3 protected訪問控制 94
2.6.4 抽象基類 95
2.6.5 私有繼承和保護繼承 96
2.6.6 多繼承 96
2.6.7 類模板 97
2.7 C++異常機制 98
2.7.1 異常處理類型 98
2.7.2 exception類 100
2.8 標準模板庫(STL) 100
2.8.1 auto_ptr類的使用 101
2.8.2 vector模板類的定義和使用 101
2.8.3 通用算法 102
2.8.4 實例2.5-使用STL和通用算法開發成績管理系統(5.0版) 104
2.9 I/O流和檔案 109
2.9.1 C++的輸入和輸出 109
2.9.2 檔案輸入和輸出 109
2.9.3 實例2.6-在VC6.0 中創建C++源檔案,使用磁碟檔案讀寫 110
2.10 小結 111
第二篇 MFC基礎
第3章 Windows訊息映射 113
3.1 視圖類 113
3.2 應用程式的類型 114
3.3 資源編輯器 115
3.4 MFC應用程式中的各種子功能 116
3.5 訊息映射函式和Windows映射模式 121
3.5.1 獲取用戶單擊和輸入 121
3.5.2 MM_TEXT映射模式 121
3.5.3 固定比例映射模式 122
3.5.4 可變比例映射模式 122
3.5.5 坐標轉換 122
3.6 其他Windows訊息 123
3.7 實例-訊息映射函式的使用 123
3.8 小結 128
第4章 GDI函式 129
4.1 設備環境類 129
4.1.1 CDC類及其派生類簡介 129
4.1.2 CDC類對象的行為函式 130
4.2 GDI對象的構造和使用 132
4.3 字型選擇和顯示 132
4.4 實例4.1-字型的使用 133
4.5 GDI點陣圖和DIB點陣圖 135
4.6 實例4.2-點陣圖的使用 136
4.7 小結 141
第5章 對話框 142
5.1 兩種不同類型的對話框 142
5.2 實例5.1-計算器軟體的開發 142
5.3 實例5.2-模式對話框的創建和使用 147
5.4 Windows通用對話框 150
5.4.1 CFileDialog類-檔案打開對話框的使用 151
5.4.2 CColorDialog類-調色板對話框的使用 152
5.4.3 CFindReplaceDialog類-字詞查找和替換對話框的使用 153
5.4.4 CPageSetupDialog類-頁面設定對話框的使用 154
5.4.5 CFontDialog類-字型設定對話框的使用 156
5.4.6 CPrintDialog類-列印設定對話框的使用 157
5.5 無模式對話框 157
5.6 小結 158
第6章 控制項 160
6.1 VC6.0資源和通用控制項 160
6.2 VC6.0的控制項工具箱 160
6.3 實例6.1-簡單控制項的使用 162
6.4 標準通用控制項 165
6.4.1 進度指示器控制項 165
6.4.2 劃塊控制項 165
6.4.3 列表控制項 166
6.4.4 樹狀控制項 166
6.5 實例6.2-標準通用控制項的使用 167
6.6 實例6.3-成績管理系統(6.0版-Windows版) 170
6.7 小結 183
第7章 Windows的基本輸入 184
7.1 鍵盤訊息及其處理 184
7.1.1 鍵盤訊息的處理 184
7.1.2 鍵盤訊息處理函式 185
7.1.3 實例7.1-鍵盤訊息處理 186
7.2 滑鼠訊息及其處理 190
7.2.1 滑鼠訊息的處理 190
7.2.2 滑鼠訊息處理函式 190
7.2.3 實例7.2-滑鼠訊息處理(五子棋遊戲) 191
7.3 小結 203
第8章 ActiveX控制項 204
8.1 ActiveX控制項的特殊性 204
8.1.1 ActiveX控制項和普通控制項的相同點 204
8.1.2 ActiveX控制項和普通控制項的不同點 204
8.2 安裝ActiveX控制項 205
8.3 實例-ActiveX控制項:日曆控制項的創建 206
8.4 ActiveX控制項在Web編程中的使用 208
8.5 圖形屬性和變化通知 209
8.6 小結 210
第三篇 深入學習MFC
第9章 選單和框架視窗 211
9.1 Windows應用程式的框架視窗 211
9.2 Windows選單和MFC選單編輯器 211
9.3 Windows應用程式的快捷鍵 212
9.4 命令處理的使用 213
9.5 復文本編輯 214
9.5.1 編輯視圖類:CEditView類 214
9.5.2 復文本編輯視圖類:CRichEditView類 214
9.5.3 復文本編輯控制項類:CRichEditCtrl類 214
9.6 實例-快捷鍵和文本編輯使用 214
9.6.1 基本框架和界面實現 215
9.6.2 快捷鍵設計 217
9.6.3 存儲和顯示文檔類中的文本 218
9.6.4 選項卡對話框的設計 219
9.6.5 視圖類的功能實現 221
9.6.6 運行效果和實踐小結 223
9.7 屬性表的開發過程 223
9.8 滑鼠右鍵調用的浮動快捷選單 224
9.9 CPersistentFrame持續信息類的使用 225
9.10 使用ActivateFrame( )成員函式設定視窗尺寸和位置 226
9.11 創建視窗之前的工作:PreCreateWindow成員函式 226
9.12 控制欄狀態和Windows註冊表 227
9.13 MDI應用程式和持續框架 227
9.14 小結 228
第10章 工具列和狀態欄 229
10.1 MFC應用程式框架和控制欄 229
10.2 工具列按鈕 229
10.2.1 工具列點陣圖和按鈕的狀態 229
10.2.2 命令訊息和更新命令控制函式 230
10.3 工具列的提示信息 230
10.4 實例10.1-使用工具列的應用程式 231
10.5 狀態欄的定義和顯示 235
10.5.1 狀態欄的定義 235
10.5.2 信息行的顯示 235
10.5.3 狀態指示器 236
10.6 實例10.2-使用狀態欄的程式設計 237
10.7 小結 238
第11章 文檔和視圖的分離 239
11.1 文檔和視圖相互作用的函式 239
11.1.1 獲取當前文檔:CView::GetDocument()函式 239
11.1.2 更新所有視圖:CDocument::UpdateAllViews()函式 240
11.1.3 視圖自我更新:CViews::OnUpdate()函式 240
11.1.4 初始化更新界面:CView::OnInitialUpdate()函式 240
11.1.5 創建新文檔:CDocument::OnNewDocument()函式 240
11.2 一個簡單的文檔視圖應用程式的創建和分析 240
11.3 CView類的派生類 241
11.4 MFC類家族的始祖-CObject類 241
11.5 診斷信息轉儲基礎 242
11.5.1 TRACE宏的使用 242
11.5.2 AfxDump對象的使用 242
11.5.3 MFC的信息轉儲環境 243
11.6 實例11.1-使用診斷信息進行文檔視圖互動 245
11.6.1 項目創建和界面設計 245
11.6.2 CWorker類的設計 246
11.6.3 診斷信息和文檔視圖互動功能的實現 248
11.7 高級的文檔和視圖互動 250
11.8 CObList集合類 252
11.9 實例11.2-一個多視圖的SDI應用程式 253
11.9.1 項目創建和界面設計 253
11.9.2 編寫文檔代碼 254
11.9.3 編寫視圖代碼 254
11.10 小結 257
第12章 文檔的讀和寫 258
12.1 序列化理論 258
12.1.1 磁碟檔案和記憶體檔案 258
12.1.2 類的序列化 259
12.1.3 編寫Serialize( )函式 259
12.2 Windows應用程式對象 260
12.3 實例12.1-支持序列化的應用程式 260
12.3.1 創建支持序列化的MFC應用程式 260
12.3.2 重寫CObject基類的序列化函式 261
12.3.3 編寫界面功能 262
12.3.4 開發序列化和反序列化功能 263
12.4 應用程式在Windows中的註冊 264
12.5 MDI應用程式 265
12.5.1 MDI應用程式對象 265
12.5.2 MDI文檔模板類 265
12.5.3 MDI視窗類型 266
12.5.4 創建文檔 266
12.6 實例12.2-MDI應用程式的創建 266
12.7 MTI支持 268
12.8 小結 268
第13章 切分視窗和多視圖 269
13.1 動態和靜態切分視窗 269
13.2 關於視圖的選擇 269
13.3 實例13.1-簡單動態切分視窗應用程式的創建 270
13.4 實例13.2-多視圖的靜態切分視窗的開發 272
13.5 實例13.3-多視圖切換的開發 274
13.6 小結 276
第14章 列印功能 277
14.1 Windows環境下的列印功能 277
14.2 列印預覽 277
14.3 列印程式設計的相關接口 278
14.3.1 印表機設備環境 278
14.3.2 列印函式:CView::OnPrint( )函式 278
14.3.3 列印程式的執行過程 278
14.4 實例14.1-列印應用程式的創建和使用 279
14.5 實例14.2-多頁列印應用程式的創建和使用 282
14.6 小結 285
第15章 上下文相關幫助 286
15.1 簡易WinHelp的製作 286
15.2 應用程式框架WinHelp 288
15.2.1 調用WinHelp 288
15.2.2 使用搜尋功能 288
15.2.3 訊息框幫助 289
15.3 實例-幫助示例 289
15.4 幫助快捷命令 293
15.4.1 使用F1鍵 293
15.4.2 通過選單命令調用幫助過程 293
15.5 小結 293
第16章 動態程式庫(DLL) 294
16.1 DLL理論基礎 294
16.1.1 DLL導入和導出的原理 295
16.1.2 隱式和顯式連線 295
16.1.3 符號和序號連線 295
16.1.4 DllMain()函式 295
16.2 正規的MFC DLL和擴展的MFC DLL 296
16.2.1 正規的DLL 296
16.2.2 擴展的DLL 298
16.3 自定義控制項DLL 299
16.4 實例-創建和使用自定義控制項DLL 300
16.4.1 創建項目 300
16.4.2 添加功能代碼 300
16.4.3 創建客戶程式測試自定義控制項 302
16.5 小結 304
第17章 MFC類家族 305
17.1 MFC類家族結構 305
17.2 MFC運行機制 306
17.3 MFC家族分支 307
17.3.1 CView視圖類分支 307
17.3.2 CDC畫圖類分支 308
17.3.3 CException異常類分支 309
17.3.4 CGdiObject類分支 310
17.3.5 套接字類分支 310
17.4 非CObject派生類 311
17.4.1 簡單類型類 311
17.4.2 Internet Server API類 311
17.5 小結 312
第四篇 自動化、COM和OLE
第18章 自動化 313
18.1 什麼是VBA 313
18.2 VBA與C++組件 313
18.3 自動化接口 314
18.4 MFC自動化組件 315
18.5 實例18.1-MFC自動化的使用 316
18.5.1 創建MFC DLL自動化項目 316
18.5.2 添加自動化類和成員函式 316
18.5.3 在Windows中註冊自定義的dll動態程式庫 320
18.5.4 使用非VC應用程式調用自定義dll 320
18.5.5 實例小結 321
18.6 VARIANT類型 322
18.7 封裝VARIANT類型:COleVariant類 323
18.8 實例18.2-使用Excel自動化的實例 325
18.8.1 準備工作:創建MFC 325
18.8.2 加入自動化代碼 326
18.8.3 添加組件類 326
18.8.4 編寫客戶端宏腳本 329
18.9 小結 330
第19章 組件對象模型(COM) 331
19.1 什麼是COM 331
19.2 COM接口 332
19.3 實例-COM的使用 333
19.3.1 使用VC6.0創建ATL COM應用程式 334
19.3.2 創建新的ATL對象 335
19.3.3 實現_IDTExtensibility2接口 335
19.3.4 通知Office並載入組件接口 337
19.3.5 導入Office接口檔案 338
19.3.6 完成功能代碼 338
19.3.7 運行效果和小結 340
19.4 COM的包容、集合和繼承 341
19.5 小結 341
第20章 OLE DB 342
20.1 OLE DB 對象模型 342
20.2 OLE DB模板的基本結構 343
20.3 OLE DB客戶資料庫訪問的兩種途徑 344
20.3.1 以MFC AppWizard(exe)為嚮導建立OLE DB客戶程式框架 344
20.3.2 以ATL COM AppWizard為嚮導建立OLE DB客戶程式框架 346
20.4 小結 348
第五篇 軟體研發實踐
第21章 資料庫編程基礎 349
21.1 資料庫開發技術簡介 349
21.1.1 常用的幾種資料庫管理系統DBMS 349
21.1.2 關係代數與資料庫SQL語言 350
21.1.3 規範化和資料庫表設計常見的問題 352
21.1.4 ODBC、DAO和ADO技術簡介 353
21.2 在VC6.0中使用ODBC進行資料庫連線 353
21.2.1 ODBC概述 354
21.2.2 ODBC類的使用 354
21.2.3 ODBC資料庫操作 356
21.3 在VC6.0中使用ADO進行資料庫連線 357
21.3.1 ADO概述 357
21.3.2 ADO連線套用 357
21.3.3 ADO資料庫操作 359
21.4 小結 361
第22章 資料庫研發實踐:家庭財務管理系統 362
22.1 提出問題:設計一個家庭財務管理系統 362
22.1.1 概要功能 362
22.1.2 界面需求 362
22.2 資料庫設計 363
22.2.1 數據關係分析 363
22.2.2 E-R圖設計 364
22.2.3 資料庫表的生成 365
22.3 算法設計 366
22.3.1 連線資料庫 366
22.3.2 添加數據 367
22.3.3 修改資料庫內容 368
22.3.4 統計資料庫信息 368
22.4 軟體項目開發過程 368
22.4.1 開發家庭財務管理系統項目的流程 368
22.4.2 根據E-R圖創建資料庫表 368
22.4.3 功能研發的準備工作 371
22.4.4 實現算法設計 374
22.4.5 測試 377
22.5 小結 378
第23章 網路編程基礎 379
23.1 TCP/IP簡介 379
23.2 Windows Sockets基礎 380
23.2.1 套接字概述 381
23.2.2 WinSock API常用函式 381
23.2.3 MFC對WinSock API的封裝 382
23.3 B/S模式和C/S模式 382
23.3.1 什麼是B/S和C/S模式 382
23.3.2 C/S與B/S的區別 383
23.4 區域網路技術 384
23.4.1 網卡地址 384
23.4.2 獲取計算機名稱和IP 384
23.5 信息打包和傳送 385
23.6 小結 386
第24章 網路編程研發實踐:即時通信軟體 387
24.1 網路編程實例:即時通信系統 387
24.1.1 功能需求 387
24.1.2 項目系統模型 388
24.1.3 系統設計思路 388
24.1.4 功能分析和設計難點 389
24.1.5 設計難點的解決方案 391
24.2 軟體項目開發過程:伺服器端應用程式 392
24.2.1 創建一個支持套接字的MFC伺服器端程式 392
24.2.2 實現界面設計 393
24.2.3 定義類設計 394
24.2.4 實現類設計中的函式 396
24.2.5 實現界面功能按鈕 403
24.2.6 測試 406
24.3 軟體項目開發過程:客戶端應用程式 407
24.3.1 創建一個支持套接字的MFC客戶端程式 407
24.3.2 實現界面設計 407
24.3.3 定義類設計和實現類設計中的函式 408
24.3.4 實現界面功能按鈕 408
24.3.5 測試 410
24.4 小結 410
第25章 仿3D遊戲開發:推箱子遊戲 411
25.1 目前的PC遊戲種類簡介 411
25.2 仿3D遊戲:推箱子遊戲開發的基礎和概要設計 411
25.2.1 Win32 SDK程式基礎 412
25.2.2 需求分析 413
25.2.3 遊戲規則和效果 413
25.2.4 技術難點的解決方案 414
25.3 遊戲項目開發過程 414
25.3.1 創建Win32應用程式 415
25.3.2 類設計 415
25.3.3 地圖設計和讀取 417
25.3.4 類的實現 418
25.3.5 Win32應用程式訊息處理和場景顯示 420
25.4 小結 422
附錄 VC操作小技巧 423