本書介紹了使用Visual C 開發(fā)Windows、Android和iOS等系統(tǒng)下應(yīng)用軟件的基本方法。第1~3章介紹使用VC 開發(fā)Windows程序的基本原理和方法,第4~9章講授開發(fā)文檔及視圖程序的方法,第10章講授對話框的使用方法,第11~12章講授常見控件的使用方法,第13章講授創(chuàng)建和使用動態(tài)鏈接庫的方法,第14章講授使用進(jìn)程和線程技術(shù)開發(fā)并行、并發(fā)程序的方法,第15章講授使用VC 2015提供的跨平臺開發(fā)技術(shù)開發(fā)Android、iOS及OS X程序的基本原理和方法。本書既可作為高等院校計(jì)算機(jī)及相關(guān)專業(yè)C 后續(xù)課程的教材或主要參考書,也可作為繼續(xù)教育或網(wǎng)絡(luò)培訓(xùn)中的程序設(shè)計(jì)課程教材,同時(shí)也可供有關(guān)工程技術(shù)人員和計(jì)算機(jī)愛好者學(xué)習(xí)參考。
采用原理和實(shí)例相結(jié)合的方法系統(tǒng)講授VC 編程技術(shù);講授使用VC 開發(fā)Windows、Android和iOS應(yīng)用軟件的基本方法;手機(jī)游戲研發(fā)公司西幫網(wǎng)絡(luò)的多位軟件工程師參與編寫。
目 錄
出版說明
前言
第1章 VC 程序設(shè)計(jì)基礎(chǔ)1
1.1 Windows概述1
1.1.1 操作系統(tǒng)的發(fā)展歷史1
1.1.2 Windows的技術(shù)特點(diǎn)2
1.2 Windows程序特點(diǎn)3
1.2.1 程序組成3
1.2.2 數(shù)據(jù)類型5
1.2.3 匈牙利命名法6
1.2.4 窗口消息7
1.2.5 運(yùn)行模式8
1.3 一個(gè)簡單的窗口程序9
1.3.1 開始之前9
1.3.2 WinMain()函數(shù)10
1.3.3 窗口函數(shù)14
1.4 上機(jī)步驟15
1.4.1 進(jìn)入開發(fā)環(huán)境15
1.4.2 新建項(xiàng)目16
1.4.3 修改項(xiàng)目選項(xiàng)17
1.4.4 添加程序文件17
1.4.5 編輯程序18
1.4.6 添加源文件到項(xiàng)目18
1.4.7 調(diào)試運(yùn)行19
1.5 增加窗口程序功能19
1.5.1 關(guān)閉窗口消息19
1.5.2 顯示信息窗口19
1.6 小結(jié)21
1.7 習(xí)題21
第2章 MFC程序設(shè)計(jì)基礎(chǔ)22
2.1 MFC概述22
2.1.1 MFC與應(yīng)用程序框架22
2.1.2 MFC的組成22
2.1.3 MFC中的類23
2.2 MFC程序的特點(diǎn)24
2.2.1 概述24
2.2.2 MFC與消息處理24
2.2.3 運(yùn)行模式24
2.3 一個(gè)簡單的MFC程序25
2.3.1 程序開始之前25
2.3.2 派生應(yīng)用程序類26
2.3.3 派生窗口類26
2.3.4 建立窗口26
2.3.5 加入消息映射27
2.3.6 建立MFC應(yīng)用程序?qū)ο?8
2.4 上機(jī)步驟28
2.4.1 建立項(xiàng)目28
2.4.2 修改項(xiàng)目屬性29
2.4.3 調(diào)試運(yùn)行29
2.5 功能擴(kuò)展29
2.5.1 WM_SIZE消息30
2.5.2 AfxMessageBox()函數(shù)31
2.5.3 WM_LBUTTONDBCLK消息32
2.6 使用資源33
2.6.1 建立圖標(biāo)資源33
2.6.2 在程序中使用圖標(biāo)資源34
2.7 小結(jié)35
2.8 習(xí)題35
第3章 常用MFC通用類36
3.1 CPoint、CSize和CRect類36
3.1.1 CPoint類6
3.1.2 CSize類36
3.1.3 CRect類36
3.2 CString類37
3.2.1 創(chuàng)建字符串37
3.2.2 訪問字符串?dāng)?shù)據(jù)38
3.2.3 字符串的比較39
3.2.4 子串函數(shù)40
3.2.5 字符串處理函數(shù)41
3.2.6 應(yīng)用實(shí)例42
3.3 集合類42
3.3.1 列表類CList42
3.3.2 數(shù)組類CArray45
3.3.3 映射類CMap47
3.3.4 應(yīng)用實(shí)例48
3.4 時(shí)間處理類50
3.4.1 COleDateTime類50
3.4.2 COleDateTimeSpan類53
3.5 異常處理類55
3.5.1 異常處理類的使用55
3.5.2 MFC異常處理類簡介56
3.6 小結(jié)
3.7 習(xí)題
第4章 文檔視圖程序
4.1 概述
4.1.1 程序組成
4.1.2 程序分類
4.1.3 運(yùn)行方式9
4.2 創(chuàng)建文檔視圖程序0
4.2.1 新建項(xiàng)目0
4.2.2 修改項(xiàng)目選項(xiàng)1
4.2.3 完成向?qū)?
4.3 文檔視圖程序文件結(jié)構(gòu)2
4.3.1 源文件2
4.3.2 資源文件63
4.4 文檔視圖框架程序分析63
4.4.1 頭文件3
4.4.2 應(yīng)用程序類64
4.4.3 文檔類66
4.4.4 視圖類68
4.4.5 框架窗口類69
4.5 應(yīng)用實(shí)例71
4.5.1 添加數(shù)據(jù)成員71
4.5.2 添加數(shù)據(jù)存取72
4.5.3 添加數(shù)據(jù)顯示73
4.5.4 添加數(shù)據(jù)排序74
4.6 小結(jié)75
4.7 習(xí)題75
第5章 繪圖輸出77
5.1 GDI與MFC77
5.1.1 概述77
5.1.2 設(shè)備環(huán)境類78
5.1.3 GDI對象類78
5.2 繪制圖形79
5.2.1 開始繪圖79
5.2.2 更改畫筆81
5.2.3 使用畫刷83
5.2.4 使用位圖84
5.3 輸出文本88
5.3.1 文本輸出函數(shù)88
5.3.2 更改文本顏色89
5.3.3 更改字形和字體90
5.4 坐標(biāo)與坐標(biāo)模式93
5.4.1 坐標(biāo)模式94
5.4.2 MM_ANISOTROPIC坐標(biāo)模式95
5.4.3 MM_ISOTROPIC坐標(biāo)模式96
5.4.4 平移坐標(biāo)97
5.4.5 修改坐標(biāo)方向98
5.5 小結(jié)99
5.6 習(xí)題100
第6章 用戶輸入101
6.1 鼠標(biāo)和鍵盤101
6.1.1 鼠標(biāo)消息101
6.1.2 鍵盤消息104
6.2 使用菜單106
6.2.1 編輯菜單106
6.2.2 處理菜單命令108
6.2.3 修改菜單狀態(tài)109
6.2.4 使用菜單快捷鍵113
6.2.5 使用菜單加速鍵114
6.2.6 使用彈出式菜單116
6.3 小結(jié)118
6.4 習(xí)題118
第7章 工具欄與狀態(tài)欄119
7.1 工具欄119
7.2 處理工具欄命令120
7.2.1 工具欄按鈕狀態(tài)122
7.2.2 自定義工具欄123
7.3 狀態(tài)欄128
7.3.1 默認(rèn)狀態(tài)欄128
7.3.2 操作狀態(tài)欄130
7.4 小結(jié)136
7.5 習(xí)題136
第8章 使用文件137
8.1 CFile類137
8.1.1 文件的建立、打開和關(guān)閉137
8.1.2 文件的讀與寫139
8.1.3 文件內(nèi)容的定位與鎖定140
8.1.4 獲取并設(shè)置文件狀態(tài)141
8.2 序列化142
8.2.1 序列化的概念142
8.2.2 Serialize()函數(shù)142
8.2.3 CArchive類142
8.2.4 序列化應(yīng)用實(shí)例145
8.3 文件管理148
8.3.1 文件操作148
8.3.2 目錄操作149
8.4 小結(jié)149
8.5 習(xí)題149
第9章 常用消息151
9.1 消息的分類151
9.2 系統(tǒng)消息151
9.2.1 WM_CREATE151
9.2.2 WM_CLOSE152
9.2.3 WM_QUERYENDSEESSION152
9.2.4 WM_DESTROY152
9.2.5 WM_NCDESTROY153
9.2.6 WM_TIMER153
9.2.7 WM_PAINT154
9.2.8 程序?qū)嵗?55
9.3 用戶自定義消息157
9.3.1 消息標(biāo)識157
9.3.2 消息映射宏157
9.3.3 消息發(fā)送157
9.3.4 消息接收158
9.3.5 使用系統(tǒng)熱鍵消息159
9.3.6 使用進(jìn)程間消息162
9.4 小結(jié)165
9.5 習(xí)題165
第10章 對話框166
10.1 概述166
10.2 對話框模板資源166
10.2.1 創(chuàng)建對話框模板資源166
10.2.2 編輯對話框模板屬性167
10.2.3 在對話框模板中添加或刪除控件
10.2.4 在對話框模板上調(diào)整控件169
10.2.5 修改控件的屬性169
10.2.6 設(shè)定控件跳格次序169
10.2.7 測試對話框模板資源169
10.3 對話框類170
10.3.1 模式對話框170
10.3.2 模式對話框?qū)嵗?70
10.3.3 非模式對話框171
10.3.4 非模式對話框?qū)嵗?71
10.4 自定義對話框173
10.4.1 建立模板資源173
10.4.2 建立CDialogEx派生類174
10.4.3 在對話框上繪圖75
10.4.4 為控件添加成員變量175
10.4.5 為控件添加消息映射176
10.4.6 使用CDialog派生類對象177
10.5 基于對話框的MFC程序177
10.5.1 建立項(xiàng)目178
10.5.2 應(yīng)用程序類179
10.5.3 對話框窗口類180
10.6 通用對話框181
10.6.1 CFileDialog181
10.6.2 CColorDialog183
10.6.3 CFontDialog185
10.7 小結(jié)186
10.8 習(xí)題187
第11章 常用控件188
11.1 概述188
11.1.1 控件窗口樣式188
11.1.2 控件的通知消息188
11.1.3 控件類的成員函數(shù)188
11.1.4 控件的創(chuàng)建方式189
11.2 按鈕控件(BUTTON)189
11.2.1 按鈕控件的樣式189
11.2.2 按鈕控件的通知消息189
11.2.3 按鈕控件類的成員函數(shù)190
11.2.4 按鈕控件使用實(shí)例190
11.3 編輯框控件(EDITBOX)192
11.3.1 編輯框控件的樣式192
11.3.2 編輯框控件的通知消息193
11.3.3 編輯框控件類的成員函數(shù)193
11.3.4 編輯框控件使用實(shí)例193
11.4 靜態(tài)控件(STATIC)195
11.4.1 靜態(tài)控件的樣式195
11.4.2 靜態(tài)控件的通知消息196
11.4.3 靜態(tài)控件類的成員函數(shù)196
11.4.4 靜態(tài)控件使用實(shí)例196
11.5 修改控件的字體和顏色197
11.5.1 修改控件的字體197
11.5.2 修改控件的顏色198
11.6 復(fù)選框控件(CHECKBUTTON)
11.6.1 復(fù)選框控件的樣式200
11.6.2 復(fù)選框控件的通知消息200
11.6.3 復(fù)選框類成員函數(shù)200
11.6.4 復(fù)選框控件使用實(shí)例200
11.7 單選按扭控件(RADIOBUTTON)
11.7.1 單選按鈕控件的樣式
11.7.2 單選按鈕控件的通知消息
11.7.3 單選按鈕類的成員函數(shù)201
11.7.4 復(fù)選框控件和單選按鈕控件使用實(shí)例201
11.8 進(jìn)程條控件(PROGRESS)202
11.8.1 進(jìn)程條控件的樣式202
11.8.2 進(jìn)程條控件的通知消息202
11.8.3 進(jìn)程條類的成員函數(shù)202
11.8.4 進(jìn)程條控件使用實(shí)例203
11.9 滑動條控件(SLIDER)204
11.9.1 滑動條控件的樣式204
11.9.2 滑動條控件的通知消息204
11.9.3 滑動條控件類的成員函數(shù)205
11.9.4 滑動條控件使用實(shí)例205
11.10 微調(diào)控件(SPIN)206
11.10.1 微調(diào)控件的樣式206
11.10.2 微調(diào)控件的通知消息206
11.10.3 微調(diào)控件類的成員函數(shù)207
11.10.4 微調(diào)控件使用實(shí)例207
11.11 組合框控件(COMBOBOX)
11.11.1 組合框控件的樣式209
11.11.2 組合框控件的通知消息209
11.11.3 組合框類的成員函數(shù)209
11.11.4 組合框控件使用實(shí)例210
11.12 小結(jié)211
11.13 習(xí)題211
第12章 使用樹控件和列表控件213
12.1 圖像列表213
12.1.1 建立圖像列表213
12.1.2 圖像列表的操作214
12.2 樹控件215
12.2.1 概述215
12.2.2 樹控件的創(chuàng)建215
12.2.3 樹控件的操作219
12.3 列表控件221
12.3.1 概述221
12.3.2 列表控件的創(chuàng)建222
12.3.3 列表控件的操作226
12.4 小結(jié)229
12.5 習(xí)題229
第13章 動態(tài)鏈接庫230
13.1 概述230
13.2 創(chuàng)建標(biāo)準(zhǔn)Win32動態(tài)庫231
13.2.1 新建Win32動態(tài)庫項(xiàng)目231
13.2.2 添加函數(shù)233
13.2.3 添加類233
13.2.4 導(dǎo)出函數(shù)234
13.2.5 導(dǎo)出類234
13.2.6 生成DLL234
13.2.7 查看DLL中的導(dǎo)出函數(shù)234
13.3 創(chuàng)建標(biāo)準(zhǔn)MFC動態(tài)庫235
13.3.1 新建MFC動態(tài)庫項(xiàng)目235
13.3.2 添加函數(shù)236
13.3.3 添加類238
13.3.4 導(dǎo)出函數(shù)239
13.3.5 導(dǎo)出類239
13.3.6 生成DLL240
13.3.7 查看DLL中的導(dǎo)出函數(shù)240
13.4 在程序中使用動態(tài)庫240
13.4.1 加載 DLL的方式240
13.4.2 使用隱式加載241
13.4.3 使用顯式加載242
13.5 與其他程序設(shè)計(jì)語言共享DLL247
13.5.1 共享DLL給其他程序設(shè)計(jì)語言247
13.5.2 調(diào)用其他語言開發(fā)的DLL248
13.6 小結(jié)248
13.7 習(xí)題248
第14章 使用多任務(wù)250
14.1 進(jìn)程250
14.1.1 進(jìn)程的優(yōu)先級250
14.1.2 啟動進(jìn)程50
14.1.3 進(jìn)程的管理253
14.2 線程260
14.2.1 線程的優(yōu)先級260
14.2.2 線程的創(chuàng)建和終止260
14.2.3 工作者線程實(shí)例261
14.2.4 使用用戶接口線程264
14.3 進(jìn)程與線程間的同步267
14.3.1 等待函數(shù)268
14.3.2 使用事件CEvent269
14.3.3 使用臨界段CCriticalSection270
14.3.4 使用互斥量CMutex272
14.3.5 使用信號量CSemaphore273
14.4 小結(jié)274
14.5 習(xí)題275
第15章 手機(jī)開發(fā)基礎(chǔ)276
15.1 概述276
15.2 第一個(gè)手機(jī)程序276
15.2.1 開始之前276
15.2.2 創(chuàng)建手機(jī)程序277
15.2.3 通過模擬器運(yùn)行手機(jī)程序279
15.2.4 發(fā)布到手機(jī)279
15.2.5 在手機(jī)屏幕上繪圖280
15.2.6 處理手機(jī)觸屏輸入283
15.3 Cocos2d-x程序設(shè)計(jì)基礎(chǔ)284
15.3.1 開發(fā)步驟285
15.3.2 配置開發(fā)環(huán)境285
15.3.3 創(chuàng)建跨平臺項(xiàng)目289
15.3.4 運(yùn)行模式290
15.3.5 生成Windows程序291
15.3.6 生成Android程序292
15.3.7 生成iOS程序293
15.3.8 跨平臺開發(fā)初步294
15.4 小結(jié)297
15.5 習(xí)題297
附錄298