學通Visual C ++的24堂課

學通Visual C ++的24堂課

《學通VisualC++的24堂課》是2011年清華大學出版社出版的圖書,作者是明日科技劉銳寧、梁水、李偉明。

內容簡介

本書從國中級用戶的角度出發,以通俗易懂的語言、科學合理的設計,配合豐富多彩的實例,全面講述了使用Visual C++ 6.0進行程式開發的必備知識和技能。全書共分為24堂課,主要包括Visual C++開發環境、C++語言基礎、運算符與表達式、流程控制語句、數組的套用、函式的套用、面向對象程式設計、對話框程式設計、Windows通用對話框、選單、工具列和狀態欄、常用控制項、高級控制項、檔案操作、圖形圖像程式設計、列印控制、掌握資料庫操作、掌握進程與執行緒技術、動態程式庫、網路編程、程式調試、螢幕錄像模組、人事考勤管理系統和企業簡訊群發系統。

本書適合有志於從事軟體開發的初學者、高校計算機相關專業學生,也可作為軟體開發人員的參考手冊。

本書通過教學視頻、實例訓練、綜合套用、項目實踐、自我測試、行動指南逐步深入和強化訓練等方式,並輔之以心理勵志,來持續激發讀者主動學習、自發學習。

本書給出了340個小型實例,196個綜合套用,6個項目案例(部分在光碟中),各類技巧、試驗200餘個,測試題目210個,以方便讀者訓練、測試和快速提升。

本書DVD光碟給出了120集(356段)多媒體教學視頻講解,每個實例都給出了相應的源程式,可直接複製源碼學習或套用。

前言

前 言

Visual C++6.0是由微軟公司推出的一種基於Windows環境的可視化編程工具,也是微軟Visual Studio家族中的一款重量級產品。利用Visual C++可以開發資料庫管理系統、多媒體應用程式、網路應用程式、遊戲軟體,甚至底層的驅動程式,這使得Visual C++迅速發展成為套用最廣泛的編程工具之一。

本書內容

學、練、用到精通只需24堂課。本書從國中級用戶的角度,通過24堂課全面講述了使用Visual C++ 6.0進行程式開發的必備知識和技能。內容安排如下圖所示。

第1部分 基礎篇(第1~7堂課):講述了Visual C++開發環境,C++語言基礎,運算符與表達式,流程控制語句,數組的套用,函式的套用和面向對象程式設計。這些都是Visual?C++的基礎知識,學通本篇,再學其他篇相信一定很輕鬆。

第2部分 提高篇(第8~13堂課):講述了使用Visual C++ 6.0進行應用程式開發的各種常用技術,包括對話框程式設計,Windows通用對話框,選單,工具列和狀態欄,常用控制項和高級控制項。通過這一篇的學習,讀者可以掌握對話框、選單、工具列和控制項等技術,開發小型實用工具。

第3部分 高級篇(第14~21堂課):講述了檔案操作,圖形圖像程式設計,列印控制,掌握資料庫操作,掌握進程與執行緒技術,動態程式庫,網路編程和程式調試。通過這一篇的學習,讀者可以掌握檔案、資料庫、網路等技術,開發小型網路程式和資料庫應用程式。

第4部分 實戰篇(第22~24堂課):講述了螢幕錄像模組、人事考勤管理系統和企業簡訊群發系統3個完整的項目實例設計全過程。通過該篇的學習,讀者可以積累項目開發經驗。

本書特點

* 配備了120集(356段)多媒體教學視頻講解。

本書DVD光碟提供了覆蓋全書的語音視頻講解,讀者可以通過視頻快速、直觀、輕鬆地學習。

* 每一堂課都結合“照貓畫虎”、“情景套用”。

為了提高讀者的動手能力,激發學習興趣,本書提供了“照貓畫虎”和“情景套用”欄目,根據實例模仿著去做是學習編程的最快方式。

* 每一堂課都結合“成功故事”和“行動指南”,時刻激勵和鼓舞讀者。

在學習中,尤其是最初的一段時間內,非常有必要不斷地對學習者加以激勵和鼓舞。讓他們堅持下來是至關重要的,因此書中不間斷地用一些勵志故事和“行動指南”去鼓舞其信心。

* 光碟提供了本書的所有代碼,即使只有一行。

本書光碟提供了所有實例的原始碼,哪怕只有一行。讀者可以直接複製,以提高學習效率。

* 本書所有習題都給出了答案,部分習題還有解析,讀者可以對照查閱。

讀者對象

(1)有志於軟體開發的初學者 (2)高等院校計算機相關專業的老師和學生

(3)準備從事軟體開發的求職者 (4)參與畢業設計的學生

(5) 初、中級程式開發人員 (6) 程式測試及維護人員

本書作者

本書由明日科技組織編寫,參加編寫的程式設計師有劉銳寧、李偉明、梁水、王國輝、賽奎春、潘凱華、劉欣、李慧、陳丹丹、高春艷、李偉、孫秀梅、楊麗、劉玲玲、朱曉、劉燕、陳英、李鑫、李賀、肖鑫、張麗娜、沈博、劉冠男、曹飛飛、李麗、聶喜婷、王明昭、張英豪、王小科、趙會東、白偉明等。

由於水平有限,書中疏漏和不足之處在所難免,懇請廣大讀者朋友批評指正。

技術支持與服務

最後,感謝您選擇本書,希望本書能成為您編程路上的領航者。

祝讀書快樂!

特別提醒:

親愛的讀者朋友,由於近期紙張價格和印製成本大幅上漲,為不增加讀者朋友的負擔,又不減少書的內容,本書的最後幾章內容不得不放在配書光碟中(參見目錄),由此給您帶來了不便,在此深表歉意。

編 者

圖書目錄

目 錄

第1部分 基礎篇

第1堂課 Visual C++開發環境 3

視頻講解:115分鐘

1.1 Visual C++ 6.0概述 4

1.2 熟悉Visual C++ 6.0開發環境 4

1.2.1 選單介紹 5

1.2.2 工具列介紹 12

1.2.3 Visual C++ 6.0工作區視窗介紹 14

1.2.4 代碼編輯視窗介紹 15

1.2.5 Visual C++ 6.0 控制項面板介紹 16

1.2.6 輸出視窗介紹 16

1.3 使用MSDN 17

1.4 照貓畫虎——基本功訓練 18

1.4.1 基本功訓練1——自定義工具列 18

1.4.2 基本功訓練2——調整代碼文本顏色 19

1.4.3 基本功訓練3——批量注釋 20

1.4.4 基本功訓練4——向工程中載入圖示

資源 23

1.4.5 基本功訓練5——在工程中添加CPP

檔案 23

1.5 情景套用——拓展與實踐 24

1.5.1 情景套用1——編寫加法計算器 24

1.5.2 情景套用2——在控制台輸出當前日期 25

1.5.3 情景套用3——輸出帶框線的字元串 25

1.5.4 情景套用4——在控制台接收用戶

輸入的用戶名 26

1.5.5 情景套用5——輸出商品價格和

購買數量 27

1.6 自我測試 28

1.7 行動指南 29

1.8 成功故事——甩手的故事 30

第2堂課 C++語言基礎 31

視頻講解:157分鐘

2.1 程式設計基本要素 32

2.1.1 認識標識符 32

2.1.2 關鍵字介紹 32

2.1.3 常量的定義和使用 33

2.1.4 變數的定義和使用 33

2.2 代碼編寫規範 34

2.2.1 合理使用注釋 34

2.2.2 統一代碼縮進 35

2.2.3 代碼換行 36

2.2.4 合理使用空格 37

2.2.5 命名規則 37

2.3 數據類型 38

2.3.1 簡單數據類型介紹 39

2.3.2 布爾類型的使用 40

2.3.3 套用枚舉類型 40

2.3.4 定義結構體類型 41

2.3.5 共用體類型介紹 43

2.3.6 使用指針類型 44

2.3.7 認識引用類型 46

2.3.8 自定義類型 47

2.4 照貓畫虎——基本功訓練 47

2.4.1 基本功訓練1——定義整型變數

並賦初值 47

2.4.2 基本功訓練2——使用枚舉類型輸出

當前星期 48

2.4.3 基本功訓練3——定義操作員

信息結構體 49

2.4.4 基本功訓練4——使用取值運算符

訪問指針數據 50

2.4.5 基本功訓練5——使用帶參數的宏定義 51

2.5 情景套用——拓展與實踐 52

2.5.1 情景套用1——利用#輸出圖形 52

2.5.2 情景套用2——簡單的字元加密 52

2.5.3 情景套用3——輸出電視機的狀態信息 53

2.5.4 情景套用4——簡歷的快速複製 54

2.5.5 情景套用5——繪製餘弦曲線 55

2.6 自我測試 56

2.7 行動指南 58

2.8 成功故事——“防毒王”:王江民 59

第3堂課 運算符與表達式 61

視頻講解:88分鐘

3.1 運算符 62

3.1.1 賦值運算符 62

3.1.2 算術運算符 63

3.1.3 關係運算符 64

3.1.4 邏輯運算符 65

3.1.5 遞增遞減運算符 66

3.1.6 位運算符 67

3.1.7 sizeof運算符 70

3.1.8 new和delete運算符 71

3.2 結合性與優先權 72

3.3 表達式 73

3.3.1 逗號表達式的使用 74

3.3.2 條件表達式 74

3.4 照貓畫虎——基本功訓練 75

3.4.1 基本功訓練1——計算學生的平均身高 75

3.4.2 基本功訓練2——判斷是否為回

文字元串 75

3.4.3 基本功訓練3——統計各種字元個數 76

3.4.4 基本功訓練4——實現兩個變數值的

互換 77

3.4.5 基本功訓練5——使用條件運算符

判斷性別 78

3.5 情景套用——拓展與實踐 79

3.5.1 情景套用1——整數加減法練習 79

3.5.2 情景套用2——計算圓面積 80

3.5.3 情景套用3——數鴨子問題求解 81

3.5.4 情景套用4——比較兩個數的大小 82

3.5.5 情景套用5——驗證用戶名 82

3.6 自我測試 83

3.7 行動指南 85

3.8 成功故事——國中站長的

創業故事 86

第4堂課 流程控制語句 87

視頻講解:115分鐘

4.1 語句的構成 88

4.2 複合語句 88

4.3 分支語句 90

4.3.1 使用if語句實現判斷 90

4.3.2 多條件判斷的switch語句 94

4.4 循環語句 98

4.4.1 for語句 98

4.4.2 while語句實現循環 101

4.4.3 使用do while語句實現至少循環一次 103

4.5 其他控制語句 103

4.5.1 使用goto語句跳轉到指定語句 103

4.5.2 用於返回數據的return語句 105

4.5.3 使用exit語句跳出當前進程 106

4.6 照貓畫虎——基本功訓練 106

4.6.1 基本功訓練1——李白喝酒問題 106

4.6.2 基本功訓練2——促銷商品的

折扣計算 107

4.6.3 基本功訓練3——燈塔數量 109

4.6.4 基本功訓練4——小球下落 110

4.6.5 基本功訓練5——判斷名次 111

4.7 情景套用——拓展與實踐 112

4.7.1 情景套用1——購物街中的商品

價格競猜 112

4.7.2 情景套用2——上帝創世的秘密 113

4.7.3 情景套用3——再現乘法口訣表 115

4.7.4 情景套用4——老師分糖果 116

4.7.5 情景套用5——猴子吃桃 117

4.8 自我測試 118

4.9 行動指南 121

4.10 成功故事——締造華人的

矽谷傳奇:楊致遠 122

第5堂課 數組的套用 123

視頻講解:51分鐘

5.1 一維數組 124

5.1.1 一維數組的定義 124

5.1.2 一維數組的初始化 124

5.1.3 一維數組元素的引用 125

5.1.4 一維數組的套用 125

5.2 二維數組和多維數組 127

5.2.1 二維數組和多維數組的定義 127

5.2.2 二維數組和多維數組的初始化 128

5.2.3 二維數組和多維數組的引用 129

5.2.4 二維數組和多維數組的套用 129

5.3 指針與數組 131

5.3.1 指向數組的指針 131

5.3.2 指針數組 132

5.4 照貓畫虎——基本功訓練 134

5.4.1 基本功訓練1——定義一個整型數組

並初始化 134

5.4.2 基本功訓練2——動態創建指定大小的

字元型數組 134

5.4.3 基本功訓練3——通過二維數組

存儲天氣溫度 135

5.4.4 基本功訓練4——通過指針輸出數組

中的元素 136

5.4.5 基本功訓練5——數組的複製 136

5.5 情景套用——拓展與實踐 137

5.5.1 情景套用1——遍歷二維數組 137

5.5.2 情景套用2——數組冒泡排序法 138

5.5.3 情景套用3——順序查找數組中元素 139

5.5.4 情景套用4——有序數組的折半查找 140

5.5.5 情景套用5——向數組中插入元素 142

5.6 自我測試 144

5.7 行動指南 145

5.8 成功故事——征途巨人史玉柱的

第一桶金 146

第6堂課 函式的套用 147

視頻講解:149分鐘

6.1 函式的定義與使用 148

6.1.1 定義和調用函式 148

6.1.2 函式參數的默認值 150

6.1.3 數組作為函式參數 151

6.1.4 指針或引用作為函式參數 154

6.1.5 省略號作為函式參數 156

6.1.6 內聯函式 157

6.1.7 重載函式 158

6.1.8 函式指針 160

6.2 作用域和生命期 163

6.2.1 局部作用域 163

6.2.2 全局作用域 164

6.2.3 定義和使用命名空間 165

6.3 函式模板 169

6.3.1 定義和使用函式模板 169

6.3.2 重載函式模板 170

6.4 照貓畫虎——基本功訓練 171

6.4.1 基本功訓練1——通過默認值實現3個

數相加 171

6.4.2 基本功訓練2——在數組中查找指定

數據並通過參數返回數據索引 172

6.4.3 基本功訓練3——通過函式輸出存

儲在數組中的商品信息 173

6.4.4 基本功訓練4——利用函式重載實現

減法運算 174

6.4.5 基本功訓練5——使用函式模板進行

排序 175

6.5 情景套用——拓展與實踐 176

6.5.1 情景套用1——遍歷磁碟目錄 176

6.5.2 情景套用2——對學生成績進行排序 178

6.5.3 情景套用3——使用遞歸函式計算n的

階乘 179

6.5.4 情景套用4——通過函式回調輸出

查找數據 180

6.5.5 情景套用5——通過函式模板返回

數組中的最小值 181

6.6 自我測試 182

6.7 行動指南 184

6.8 成功故事——使計算機成為生活的

必需品 185

第7堂課 面向對象程式設計 187

視頻講解:243分鐘

7.1 類的概念與聲明 188

7.1.1 類的概念 188

7.1.2 類的聲明 188

7.2 對象的使用 189

7.2.1 對象的聲明與實例化 189

7.2.2 類與對象的關係 190

7.2.3 類成員的訪問 190

7.2.4 類成員的保護 190

7.3 構造函式與析構函式 192

7.3.1 構造函式與默認構造函式 192

7.3.2 複製構造函式 195

7.3.3 重載構造函式 196

7.3.4 析構函式 198

7.4 類的繼承 200

7.4.1 單一繼承 200

7.4.2 多重繼承 202

7.4.3 覆蓋成員函式 203

7.4.4 虛函式 204

7.4.5 純虛函式 207

7.5 類方法的使用 209

7.5.1 實現類的方法 209

7.5.2 內聯方法 211

7.5.3 靜態成員數據和靜態方法 211

7.5.4 友元類和友元方法 215

7.5.5 const方法 219

7.5.6 運算符重載 220

7.6 類模板的使用 222

7.6.1 類模板的聲明和實例化 222

7.6.2 類模板的實現 223

7.7 照貓畫虎——基本功訓練 224

7.7.1 基本功訓練1——通過構造函式初始化

學生信息 224

7.7.2 基本功訓練2——在析構函式中釋放

類中的資源 226

7.7.3 基本功訓練3——重載“=”運算符 227

7.7.4 基本功訓練4——對動物的行為實現

多態 228

7.7.5 基本功訓練5——通過類模板實現加法

計算器 229

7.8 情景套用——拓展與實踐 230

7.8.1 情景套用1——統計圖書的銷售量 230

7.8.2 情景套用2——計算幾何圖形的面積 231

7.8.3 情景套用3——利用複製構造函式簡化

實例創建 233

7.8.4 情景套用4——實現類對象的單模式

創建 234

7.8.5 情景套用5——利用適配器模式給汽車

增加GPS定位功能 235

7.9 自我測試 237

7.10 行動指南 238

7.11 成功故事——圖文世界的締造者 239

第2部分 提高篇

第8堂課 對話框程式設計 243

視頻講解:182分鐘

8.1 創建對話框應用程式 244

8.2 創建對話框 245

8.2.1 設計對話框資源 245

8.2.2 創建並顯示對話框 252

8.3 設定對話框屬性 260

8.3.1 使用屬性對話框設定對話框屬性 260

8.3.2 使用代碼設定對話框屬性 266

8.4 對話框布局 267

8.4.1 向對話框中添加控制項 267

8.4.2 調整控制項的Tab鍵順序 268

8.4.3 調整控制項至相同的大小 268

8.4.4 在對話框中對齊控制項 270

8.4.5 排列控制項 272

8.4.6 使用格線線進行界面布局 276

8.5 訪問對話框中的控制項 277

8.5.1 使用類嚮導為控制項關聯變數 277

8.5.2 利用控制項ID獲取控制項視窗指針 281

8.5.3 利用數據交換訪問控制項文本數據 282

8.6 設定對話框和應用程式圖示 283

8.7 向對話框中添加成員和成員函式 286

8.7.1 添加成員和成員函式 286

8.7.2 添加訊息處理函式 290

8.7.3 手動添加命令訊息處理函式 293

8.8 使用訊息對話框 293

8.9 照貓畫虎——基本功訓練 295

8.9.1 基本功訓練1——設定對話框的標題 295

8.9.2 基本功訓練2——遍歷對話框中的控制項 295

8.9.3 基本功訓練3——顯示歡迎窗體 296

8.9.4 基本功訓練4——在對話框關閉時

彈出確認視窗 297

8.9.5 基本功訓練5——無法通過Esc鍵

關閉窗體 297

8.10 情景套用——拓展與實踐 298

8.10.1 情景套用1——實現登錄對話框 298

8.10.2 情景套用2——始終在最上面的

窗體 299

8.10.3 情景套用3——如QQ般隱藏的

窗體 300

8.10.4 情景套用4——隱藏和顯示標題欄 301

8.10.5 情景套用5——在對話框中設定

控制項的提示信息 301

8.11 自我測試 303

8.12 行動指南 304

8.13 成功故事——世界第一人稱

射擊遊戲之父 305

第9堂課 Windows通用對話框 307

視頻講解:54分鐘

9.1 檔案對話框 308

9.1.1 檔案對話框的樣式 308

9.1.2 檔案對話框的調用 308

9.2 “查找/替換”對話框 310

9.2.1 “查找/替換”對話框樣式 310

9.2.2 “查找/替換”對話框調用 311

9.3 “字型”對話框 313

9.3.1 “字型”對話框樣式 314

9.3.2 “字型”對話框調用 314

9.4 “顏色”對話框 315

9.4.1 “顏色”對話框樣式 316

9.4.2 “顏色”對話框調用 316

9.5 “列印”對話框 317

9.5.1 “列印”對話框樣式 317

9.5.2 “列印”對話框調用 318

9.6 “頁面設定”對話框 320

9.6.1 “頁面設定”對話框樣式 320

9.6.2 “頁面設定”對話框調用 320

9.7 照貓畫虎——基本功訓練 321

9.7.1 基本功訓練1——打開檔案時對檔案

進行過濾 321

9.7.2 基本功訓練2——獲取“查找”對話框

中所要查找的字元串 322

9.7.3 基本功訓練3——輸出“字型”對話框屬

性信息 323

9.7.4 基本功訓練4——獲取“顏色”

對話框中用戶所選顏色值 324

9.7.5 基本功訓練5——獲取“頁面設定”

對話框中紙張大小 325

9.8 情景套用——拓展與實踐 326

9.8.1 情景套用1——可以顯示圖片預覽的

“打開”對話框 326

9.8.2 情景套用2——設定是否區分大

小寫 328

9.8.3 情景套用3——使用“字型”對話框

設定靜態文本字型 329

9.8.4 情景套用4——使用“顏色”對話框

設定矩形顏色 330

9.8.5 情景套用5——調用“列印”對話框

列印圖形內容 331

9.9 自我測試 333

9.10 行動指南 334

9.11 成功故事——微型部落格

Twitter創始人 334

第10堂課 選單 337

視頻講解:77分鐘

10.1 設計選單 338

10.1.1 在資源管理器中設計選單 338

10.1.2 選單屬性 339

10.1.3 設計選單加速鍵 341

10.1.4 為對話框設定選單 342

10.2 選單項的命令處理 343

10.2.1 實現選單命令 343

10.2.2 更新選單項複選標識 344

10.2.3 一個函式實現多個選單項 345

10.3 動態創建和修改選單 347

10.3.1 動態創建對話框選單 347

10.3.2 創建彈出式選單 350

10.3.3 禁用/啟用選單項 352

10.4 自繪選單 354

10.4.1 為選單項添加圖示 354

10.4.2 選單點陣圖背景 359

10.5 照貓畫虎——基本功訓練 361

10.5.1 基本功訓練1——彈出工具列右鍵

選單 361

10.5.2 基本功訓練2——選單左側顯示

導航條圖片 362

10.5.3 基本功訓練3——帶歷史信息的選單 363

10.5.4 基本功訓練4——動態設定

對話框選單 364

10.5.5 基本功訓練5——使用更新機制

控制選單可用性 364

10.6 情景套用——拓展與實踐 365

10.6.1 情景套用1——根據表中數據動態

生成選單 365

10.6.2 情景套用2——根據INI檔案

創建選單 366

10.6.3 情景套用3——將選單項的字型

設定為粗體 367

10.6.4 情景套用4——多國語言選單 368

10.6.5 情景套用5——系統列托盤彈出選單 369

10.7 自我測試 370

10.8 行動指南 371

10.9 成功故事——網際網路的點火人 372

第11堂課 工具列和狀態欄 375

視頻講解:67分鐘

11.1 工具列設計 376

11.1.1 工具列資源設計 376

11.1.2 工具列按鈕命令處理 379

11.1.3 動態創建工具列 380

11.1.4 為工具列設定工具提示功能 384

11.2 狀態欄設計 386

11.2.1 創建狀態欄 386

11.2.2 在狀態欄中顯示進度條 388

11.2.3 使狀態欄隨對話框的改變而改變 389

11.3 照貓畫虎——基本功訓練 390

11.3.1 基本功訓練1——根據選單

創建工具列 390

11.3.2 基本功訓練2——工具列按鈕

單選效果 392

11.3.3 基本功訓練3——在工具列中

添加編輯框 394

11.3.4 基本功訓練4——根據INI檔案

創建工具列 395

11.3.5 基本功訓練5——在狀態欄顯示時間 396

11.4 情景套用——拓展與實踐 397

11.4.1 情景套用1——根據表中數據動態

生成工具列 397

11.4.2 情景套用2——可調整按鈕位置的

工具列 399

11.4.3 情景套用3——帶背景的工具列 400

11.4.4 情景套用4——工具列左側顯示雙線 401

11.4.5 情景套用5——滾動字幕的狀態欄 402

11.5 自我測試 404

11.6 行動指南 405

11.7 成功故事——暴雪公司的領航者 405

第12堂課 常用控制項 407

視頻講解:110分鐘

12.1 靜態文本控制項StaticText 408

12.1.1 靜態文本控制項的主要屬性 408

12.1.2 CStatic類的主要方法 409

12.2 編輯框控制項EditBox 411

12.2.1 編輯框控制項的主要屬性 411

12.2.2 CEdit類的主要方法 413

12.3 按鈕控制項Button 416

12.3.1 按鈕控制項的主要屬性 416

12.3.2 CButton類的主要方法 417

12.4 複選框控制項CheckBox 419

12.4.1 複選框控制項的主要屬性 419

12.4.2 設定選中狀態 420

12.4.3 獲取選中狀態 420

12.5 單選按鈕控制項RadioButton 422

12.5.1 單選按鈕控制項的主要屬性 422

12.5.2 獲得單選按鈕中的文本 423

12.6 組合框控制項ComboBox 424

12.6.1 組合框控制項的主要屬性 424

12.6.2 CComboBox類的主要方法 425

12.7 列表框控制項ListBox 427

12.7.1 列表框控制項的主要屬性 427

12.7.2 CListBox類的主要方法 428

12.8 圖像控制項Picture 431

12.8.1 圖像控制項的主要屬性 431

12.8.2 顯示圖像 432

12.9 照貓畫虎——基本功訓練 433

12.9.1 基本功訓練1——具有分隔條的靜態

文本控制項 433

12.9.2 基本功訓練2——金額編輯框 434

12.9.3 基本功訓練3——向組合框中

插入數據 436

12.9.4 基本功訓練4——上下移動列表

項位置 437

12.9.5 基本功訓練5——動態載入圖像 438

12.10 情景套用——拓展與實踐 439

12.10.1 情景套用1——編輯框輸入時顯示

選擇列表 439

12.10.2 情景套用2——按鈕七巧板 440

12.10.3 情景套用3——QQ登錄式的用戶

選擇列表 443

12.10.4 情景套用4——自動調整組合框寬度 444

12.10.5 情景套用5——要提示才能看得見 445

12.11 自我測試 447

12.12 行動指南 448

12.13 成功故事——3D王國的開創者 449

第13堂課 高級控制項 451

視頻講解:119分鐘

13.1 圖像列表控制項(ImageList) 452

13.2 列表視圖控制項(ListControl) 455

13.2.1 列表視圖控制項的主要屬性 455

13.2.2 列表視圖控制項的主要方法 456

13.2.3 設定列表視圖背景點陣圖 459

13.2.4 使用列表視圖顯示表格數據 461

13.3 樹視圖控制項(TreeControl) 462

13.3.1 樹視圖控制項的主要屬性 462

13.3.2 樹視圖控制項的主要方法 462

13.3.3 使用樹視圖控制項顯示區域信息 466

13.4 進度條控制項(Progress) 467

13.4.1 進度條控制項的主要屬性 467

13.4.2 進度條控制項的主要方法 467

13.4.3 使用進度條顯示操作進度 468

13.5 標籤控制項(TabControl) 469

13.5.1 標籤控制項的主要屬性 469

13.5.2 標籤控制項的主要方法 470

13.5.3 使用標籤控制項設計多頁面視窗 472

13.6 照貓畫虎——基本功訓練 473

13.6.1 基本功訓練1——使用圖像列表

繪製圖示 473

13.6.2 基本功訓練2——使用列表視圖

設計登錄界面 474

13.6.3 基本功訓練3——修改樹視圖控制項

文本顏色 475

13.6.4 基本功訓練4——標籤控制項以類似於

按鈕的形式顯示 476

13.6.5 基本功訓練5——標籤位於控制項的

底部 478

13.7 情景套用——拓展與實踐 480

13.7.1 情景套用1——以報表顯示圖書信息 480

13.7.2 情景套用2——以樹狀結構顯示部門

結構信息 481

13.7.3 情景套用3——在樹狀結構中編輯地域

信息 483

13.7.4 情景套用4——使樹視圖控制項具有複選

功能 484

13.7.5 情景套用5——Loading視窗中的

進度的百分比顯示 485

13.8 自我測試 487

13.9 行動指南 488

13.10 成功故事——“蓋茨第二” 488

第3部分 高級篇

第14堂課 檔案操作 493

視頻講解:135分鐘

14.1 使用C函式進行檔案操作 494

14.1.1 讀取檔案數據 494

14.1.2 向檔案中寫入數據 496

14.1.3 定位檔案 498

14.2 使用CFile類進行檔案操作 500

14.2.1 CFile類的主要方法 500

14.2.2 讀取檔案數據 500

14.2.3 向檔案中寫入數據 502

14.2.4 定位檔案 504

14.3 檔案查找 506

14.3.1 CFileFind類的主要方法 506

14.3.2 查找指定檔案 508

14.4 INI檔案操作 510

14.4.1 INI檔案結構解析 510

14.4.2 INI檔案操作函式 510

14.4.3 讀寫INI檔案 513

14.5 註冊表操作 515

14.5.1 操作註冊表的函式 515

14.5.2 利用函式直接讀寫註冊表 518

14.5.3 CRegKey類的主要方法 520

14.5.4 利用CRegKey類讀寫註冊表 521

14.6 照貓畫虎——基本功訓練 523

14.6.1 基本功訓練1——創建檔案 523

14.6.2 基本功訓練2——複製檔案 524

14.6.3 基本功訓練3——刪除檔案 525

14.6.4 基本功訓練4——重命名檔案 527

14.6.5 基本功訓練5——列舉資料夾下

所有檔案 528

14.7 情景套用——拓展與實踐 530

14.7.1 情景套用1——獲取目標檔案的創建和

修改時間 530

14.7.2 情景套用2——複製檔案時顯示進

度條 531

14.7.3 情景套用3——批量刪除指定類型的

檔案 533

14.7.4 情景套用4——把檔案刪除到回收

站中 534

14.7.5 情景套用5——設定開機自動運行 536

14.8 自我測試 539

14.9 行動指南 540

14.10 成功故事——迅雷創始人:鄒勝龍 541

第15堂課 圖形圖像程式設計 543

視頻講解:121分鐘

15.1 GDI設備與對象 544

15.1.1 畫筆CPen 544

15.1.2 畫刷CBrush 545

15.1.3 點陣圖CBitmap 546

15.1.4 區域CRgn 547

15.1.5 字型CFont 548

15.1.6 設備上下文CDC 550

15.2 常用圖像存儲格式 551

15.2.1 點陣圖BMP 551

15.2.2 圖示ICO 553

15.2.3 GIF圖像 554

15.3 文本輸出與繪製 556

15.3.1 在指定位置輸出文本 556

15.3.2 在指定區域輸出文本 557

15.3.3 利用定位點輸出文本 559

15.3.4 設定字型、顏色及對齊方式 560

15.3.5 設定文本背景透明 562

15.4 繪製圖形圖像 563

15.4.1 利用線條繪製表格 563

15.4.2 繪製多邊形 564

15.4.3 填充區域 565

15.4.4 填充選區 566

15.4.5 線條的漸變 568

15.4.6 區域的漸變 569

15.4.7 繪製點陣圖 570

15.5 照貓畫虎——基本功訓練 572

15.5.1 基本功訓練1——繪製圓角按鈕 572

15.5.2 基本功訓練2——繪製並填充三角形 573

15.5.3 基本功訓練3——繪製文字框線 575

15.5.4 基本功訓練4——繪製居中顯示的

圖像 576

15.5.5 基本功訓練5——繪製空心字 576

15.6 情景套用——拓展與實踐 578

15.6.1 情景套用1——創建不同的畫刷 578

15.6.2 情景套用2——模擬時鐘 580

15.6.3 情景套用3——數字驗證 582

15.6.4 情景套用4——繪製自定義線條 583

15.6.5 情景套用5——繪製漸變顏色的空

心字 584

15.7 自我測試 586

15.8 行動指南 587

15.9 成功故事——知識改變命運、

科技改變生活 588

第16堂課 列印控制 589

視頻講解:94分鐘

16.1 列印基礎知識 590

16.1.1 印表機介紹 590

16.1.2 解析度 590

16.1.3 映射模式 590

16.2 基於文檔、視圖結構的列印 591

16.2.1 按比例列印數據 591

16.2.2 列印圖像 594

16.2.3 自定義列印預覽 597

16.3 基於對話框結構的列印 599

16.3.1 獲取印表機設備上下文 599

16.3.2 列印預覽 600

16.3.3 分頁列印 602

16.4 列印控制相關技術 603

16.4.1 自定義列印紙大小 603

16.4.2 控制列印方向 603

16.4.3 設定列印份數 604

16.5 照貓畫虎——基本功訓練 605

16.5.1 基本功訓練1——在印表機上

繪製文字 605

16.5.2 基本功訓練2——實現橫向列印表格 606

16.5.3 基本功訓練3——獲取列印紙邊距 607

16.5.4 基本功訓練4——列印新一頁 608

16.5.5 基本功訓練5——列印窗體客戶區 608

16.6 情景套用——拓展與實踐 609

16.6.1 情景套用1——設定列印表格的邊

線及字型 609

16.6.2 情景套用2——實現照片的列印 612

16.6.3 情景套用3——實現報表列印 613

16.6.4 情景套用4——實現商品銷售

圖表列印 615

16.6.5 情景套用5——具有滾動條的

預覽界面 617

16.7 自我測試 619

16.8 行動指南 620

16.9 成功故事——中國通信設備行業的

領跑者:任正非 621

第17堂課 掌握資料庫操作 623

視頻講解:60分鐘

17.1 資料庫概述 624

17.1.1 資料庫發展歷史 624

17.1.2 關係型資料庫 625

17.2 ADO編程基礎 625

17.2.1 ADO概述 625

17.2.2 在Visual C++中套用ADO技術 626

17.3 ADO對象 626

17.3.1 ADO連線對象(Connection) 626

17.3.2 ADO記錄集對象(Recordset) 628

17.3.3 ADO命令對象Command 631

17.3.4 ADO參數對象Parameter 633

17.4 利用ADO連線資料庫 634

17.4.1 連線Access資料庫 634

17.4.2 連線SQL Server資料庫 637

17.5 利用ADO運算元據庫 638

17.5.1 獲取記錄集數據 638

17.5.2 遍歷記錄集 639

17.5.3 向記錄集中添加數據 641

17.5.4 修改記錄集數據 644

17.5.5 刪除記錄集數據 645

17.6 照貓畫虎——基本功訓練 647

17.6.1 基本功訓練1——用ADO

動態連線SQL Server資料庫 647

17.6.2 基本功訓練2——將員工表中

記錄批量插入到另一個表中 648

17.6.3 基本功訓練3——批量修改員工表中

的工資 649

17.6.4 基本功訓練4——刪除指定條件的

數據 650

17.6.5 基本功訓練5——利用ADO創建

存儲過程 651

17.7 情景套用——拓展與實踐 652

17.7.1 情景套用1——讀取SQL Server

資料庫結構 652

17.7.2 情景套用2——在Access資料庫中

錄入和提取圖片 654

17.7.3 情景套用3——在應用程式中

使用事務 657

17.7.4 情景套用4——利用ADO動態

創建視圖 658

17.7.5 情景套用5——調用具有輸出參數的

存儲過程 659

17.8 自我測試 660

17.9 行動指南 661

17.10 成功故事——軟體業的華人教父:

王嘉廉 662

第18堂課 掌握進程與執行緒技術 663

視頻講解:105分鐘

18.1 理解進程 664

18.1.1 進程概述 664

18.1.2 進程的創建 665

18.1.3 進程的終止 666

18.1.4 進程間通信 668

18.2 執行緒的使用 671

18.2.1 執行緒概述 671

18.2.2 執行緒的創建 672

18.2.3 執行緒的調度 674

18.3 執行緒同步技術 676

18.3.1 多執行緒潛在的危機 676

18.3.2 使用事件對象實現執行緒同步 677

18.3.3 使用互斥對象實現執行緒同步 679

18.4 照貓畫虎——基本功訓練 681

18.4.1 基本功訓練1——在自己的應用程式中

調用QQ 681

18.4.2 基本功訓練2——利用多執行緒實現

檔案查找 682

18.4.3 基本功訓練3——禁止程式重複運行 683

18.4.4 基本功訓練4——垃圾檔案清理工具 684

18.4.5 基本功訓練5——利用執行緒同步向

控制項中寫入數據 687

18.5 情景套用——拓展與實踐 689

18.5.1 情景套用1——等待打開的

“計事本”程式關閉 689

18.5.2 情景套用2——套用執行緒構建

視頻視窗 690

18.5.3 情景套用3——利用閃屏執行緒設計

啟動界面 691

18.5.4 情景套用4——統計文本檔案中

漢字與字元的個數 692

18.5.5 情景套用5——利用多執行緒實現

檔案下載 694

18.6 自我測試 696

18.7 行動指南 697

18.8 成功故事——創造網際網路搜尋時代 697

第19堂課 動態程式庫 699

視頻講解:86分鐘

19.1 動態程式庫基礎 700

19.1.1 動態程式庫的特點 700

19.1.2 查看動態程式庫 700

19.2 創建和調用動態程式庫 701

19.2.1 創建Win32動態程式庫 702

19.2.2 命名約定 703

19.2.3 動態程式庫的調用 705

19.2.4 創建MFC動態程式庫 706

19.3 動態程式庫高級套用 708

19.3.1 應用程式中的資源 708

19.3.2 載入動態程式庫中的資源 711

19.4 照貓畫虎——基本功訓練 712

19.4.1 基本功訓練1——判斷閏年 712

19.4.2 基本功訓練2——格式化磁碟 714

19.4.3 基本功訓練3——函式轉發 715

19.4.4 基本功訓練4——十進制轉八進制 716

19.4.5 基本功訓練5——修改應用程式

對話框 717

19.5 情景套用——拓展與實踐 719

19.5.1 情景套用1——計算某日是該年第

幾天 719

19.5.2 情景套用2——提取並保存應用程式

圖示 721

19.5.3 情景套用3——漢語和英語兩個版本

的簡單加法計算器 723

19.5.4 情景套用4——求三角形面積 725

19.5.5 情景套用5——獲取CPU的ID值 727

19.6 自我測試 729

19.7 行動指南 730

19.8 成功故事——IT風雲人物:

鮑岳橋 730

特別提醒:

親愛的讀者朋友,由於近期紙張價格和印製成本大幅上漲,為不增加讀者朋友的負擔,又不減少書的內容,本書以下章節內容不得不放在配書光碟中,由此給您帶來了不便,在此深表歉意。

第20堂課 網路編程 733

視頻講解:145分鐘

(本章內容在配書光碟中)

20.1 計算機網路基礎 734

20.1.1 計算機網路發展歷史 734

20.1.2 OSI參考模型 734

20.1.3 IP位址 735

20.1.4 域名 735

20.1.5 地址解析 736

20.1.6 TCP/IP協定 736

20.1.7 連線埠 738

20.2 套接字編程基礎 738

20.2.1 套接字概述 738

20.2.2 套接字阻塞模式 738

20.2.3 位元組順序 739

20.2.4 套接字I/O模型 739

20.3 套接字函式 753

20.3.1 套接字函式介紹 754

20.3.2 設計簡單的網路聊天程式 759

20.4 MFC套接字編程 766

20.4.1 CAsyncSocket類 766

20.4.2 CSocket類 770

20.5 照貓畫虎——基本功訓練 771

20.5.1 基本功訓練1——獲取本機用戶名和

IP位址 771

20.5.2 基本功訓練2——伺服器端和客戶端

訊息通信 772

20.5.3 基本功訓練3——傳送編輯框內數據 776

20.6 情景套用——拓展與實踐 780

20.6.1 情景套用1——實現Ping命令 780

20.6.2 情景套用2——利用UDP協定實現

廣播通信 783

20.6.3 情景套用3——通過UDP協定傳送訊息 785

20.7 自我測試 787

20.8 行動指南 788

20.9 成功故事——中國第一程式設計師:求伯君 789

第21堂課 程式調試 791

視頻講解:31分鐘

(本章內容在配書光碟中)

21.1 斷點跟蹤 792

21.1.1 設定普通斷點 792

21.1.2 設定條件斷點 792

21.1.3 設定數據斷點 794

21.1.4 設定訊息斷點 795

21.1.5 進行斷點跟蹤 795

21.2 調試視窗 797

21.2.1 使用Watch視窗查看變數值 797

21.2.2 使用Call Stack視窗查看函式的調用 798

21.2.3 使用Memory視窗查看對象的記憶體信息 798

21.2.4 使用Variables視窗查看變數信息 799

21.2.5 使用Registers視窗查看暫存器信息 799

21.2.6 使用Disassembly視窗查看反彙編代碼 800

21.3 記憶體泄露檢查 801

21.4 自我測試 802

21.5 行動指南 803

21.6 成功故事——IT“大王”:王志東 803

第4部分 實戰篇

第22堂課 螢幕錄像模組 807

視頻講解:102分鐘

(本章內容在配書光碟中)

22.1 螢幕錄像模組概述 808

22.1.1 模組概述 808

22.1.2 功能結構 808

22.2 關鍵技術 808

22.2.1 螢幕抓圖 808

22.2.2 抓圖時抓取滑鼠 809

22.2.3 將點陣圖數據流寫入AVI檔案 810

22.2.4 將AVI檔案轉換成點陣圖數據 814

22.2.5 獲得AVI檔案屬性 815

22.2.6 根據運行狀態顯示托盤圖示 817

22.2.7 獲得磁碟的剩餘空間 818

22.2.8 動態生成錄像檔案名稱 819

22.3 主窗體設計 820

22.3.1 概述 820

22.3.2 界面設計 821

22.3.3 功能實現 821

22.4 錄像截取模組設計 832

22.4.1 概述 832

22.4.2 界面設計 832

22.4.3 功能實現 833

22.5 錄像合成模組設計 838

22.5.1 概述 838

22.5.2 界面設計 838

22.5.3 功能實現 839

第23堂課 人事考勤管理系統 843

視頻講解:91分鐘

(本章內容在配書光碟中)

23.1 開發背景 844

23.2 系統分析 844

23.2.1 需求分析 844

23.2.2 系統功能描述 844

23.3 系統設計 844

23.3.1 系統目標 844

23.3.2 系統功能結構 845

23.3.3 系統預覽 845

23.3.4 業務流程圖 846

23.3.5 資料庫設計 846

23.4 公共類設計 847

23.5 主窗體設計 852

23.6 用戶登錄模組設計 853

23.6.1 用戶登錄模組概述 853

23.6.2 用戶登錄模組技術分析 853

23.6.3 用戶登錄模組實現過程 854

23.7 用戶管理模組設計 855

23.7.1 用戶管理模組概述 855

23.7.2 用戶管理模組技術分析 855

23.7.3 用戶管理模組實現過程 855

23.8 部門管理模組設計 857

23.8.1 部門管理模組概述 857

23.8.2 部門管理模組技術分析 857

23.8.3 部門管理模組實現過程 858

23.9 人員信息管理模組設計 860

23.9.1 人員信息管理模組概述 860

23.9.2 人員信息管理技術分析 860

23.9.3 人員信息管理實現過程 861

23.10 考勤管理模組設計 866

23.10.1 考勤管理模組概述 866

23.10.2 考勤管理模組技術分析 866

23.10.3 考勤管理模組實現過程 867

23.11 考勤匯總查詢模組設計 871

23.11.1 考勤匯總查詢模組概述 871

23.11.2 考勤匯總查詢模組技術分析 872

23.11.3 考勤匯總查詢模組實現過程 873

第24堂課 企業簡訊群發系統 877

視頻講解:83分鐘

(本章內容在配書光碟中)

24.1 開發背景 878

24.2 系統分析 878

24.2.1 需求分析 878

24.2.2 可行性分析 878

24.2.3 編寫項目計畫書 879

24.3 系統設計 881

24.3.1 系統目標 881

24.3.2 系統功能結構圖 881

24.3.3 系統預覽 882

24.3.4 業務流程圖 882

24.3.5 資料庫設計 883

24.4 公共類設計 885

24.4.1 自定義SetHBitmap方法 885

24.4.2 處理WM_MOUSEMOVE事件 885

24.5 主視窗設計 886

24.6 簡訊貓設定模組設計 889

24.6.1 簡訊貓設定模組概述 889

24.6.2 簡訊貓設定技術分析 889

24.6.3 簡訊貓設定實現過程 890

24.7 電話簿管理模組設計 891

24.7.1 電話簿管理模組概述 891

24.7.2 電話簿管理技術分析 892

24.7.3 電話簿管理實現過程 892

24.7.4 單元測試 896

24.8 常用語管理模組設計 897

24.8.1 常用語管理模組概述 897

24.8.2 常用語管理技術分析 898

24.8.3 常用語管理實現過程 899

24.9 簡訊傳送模組設計 902

24.9.1 簡訊傳送模組概述 902

24.9.2 簡訊傳送技術分析 903

24.9.3 簡訊傳送實現過程 903

24.9.4 單元測試 909

24.10 簡訊接收模組設計 910

24.10.1 簡訊接收模組概述 910

24.10.2 簡訊接收技術分析 910

24.10.3 簡訊接收實現過程 911

24.10.4 單元測試 914

24.11 開發技巧與難點分析 915

24.11.1 顯示“收到新信息”對話框 915

24.11.2 製作只允許輸入數字的編輯框 917

24.12 簡訊貓套用 917

24.13 本堂課總結 919

相關詞條

相關搜尋

熱門詞條

聯絡我們