?? vcmfc.txt
字號:
書名 Visual C++MFC擴展編程實例
英文原書名 VC++ MFC Extensions by Example
作者 John E.Swanke
譯者 前導工作室
書號 7-111-07714-8
頁碼 392
定價 53
會員價 47.7
幣值 477
出版日期 2000-1
本書主要介紹了運用Visual C++ 5.0或6.0的高級編程技巧,內容涉及MFC程序設計的最新概念,全書提供了大量VC的編程實例,旨在幫助讀者較為全面地掌握VC編程知識、技巧和方法。
全書分為三個部分和附錄。第一部分介紹Windows編程的基礎知識,第二部分講解用戶界面編程技巧,最后一部分涉及Windows內部進程的一些實例。
本書思路清晰,實用性強,是計算機應用人員及大專院校師生不可多得的參考書。
目 錄
譯者序
前言
第一部分 基礎
第1章 概述 1
1.1 Windows基礎 1
1.1.1 窗口類結構 2
1.1.2 消息 2
1.1.3 客戶區和非客戶區 2
1.1.4 重疊窗口、彈出窗口和子窗口 2
1.1.5 父窗口和宿主窗口 3
1.2 Windows消息 3
1.2.1 發送或寄送消息 4
1.2.2 消息類型 4
1.2.3 接收消息 4
1.2.4 窗口處理函數的子類化 5
1.3 窗口繪圖 5
1.3.1 設備環境 5
1.3.2 繪圖工具 6
1.3.3 映射模式 6
1.3.4 窗口視和視口視 6
1.3.5 邏輯單位和設備單位 7
1.3.6 繪圖函數 7
1.3.7 抖動和非抖動顏色 7
1.3.8 設備無關位圖 8
1.3.9 元文件 8
1.3.10 何時繪圖 8
1.4 MFC基礎 8
1.5 Developer Studio基礎 9
1.6 Windows和MFC總結 10
1.7 基本類 10
1.8 應用類 11
1.8.1 文檔視 11
1.8.2 CWinApp(OC) 11
1.8.3 文檔模板 12
1.8.4 線程 12
1.8.5 CFrameWnd(OCW) 12
1.8.6 CDocument(OC) 12
1.8.7 CView(OCW) 13
1.8.8 對話框應用程序 13
1.8.9 SDI應用程序 13
1.8.10 MDI應用程序 13
1.9 其余用戶界面類 13
1.9.1 通用控件類 13
1.9.2 菜單類(O) 14
1.9.3 對話框類 15
1.9.4 通用對話框MFC類 15
1.9.5 控件條類 (OCW) 15
1.9.6 屬性類 15
1.10 繪圖類 16
1.11 其他MFC類 16
1.11.1 文件類 16
1.11.2 CArchive和序列化 16
1.11.3 數據庫類 17
1.11.4 ODBC類 17
1.11.5 DAO類 17
1.11.6 數據集合類 17
1.11.7 通信類 18
1.12 類的消息機制 18
1.12.1 MFC如何接收一個寄送消息 18
1.12.2 MFC如何處理接收的消息 18
1.12.3 UI對象 20
1.13 小 結 20
第2章 控制條 21
2.1 通用控制條 21
2.2 用API創建控制條 22
2.3 用MFC創建控制條 24
2.3.1 CToolBarCtrl和CStatusBarCtrl 24
2.3.2 CToolBar和CStatusBar 24
2.3.3 CControlBar 26
2.4 停靠欄 27
2.4.1 設置停靠功能 28
2.4.2 自動改變大小和移動 30
2.4.3 停靠欄小結 30
2.5 浮動條 31
2.6 MFC的高級控制條類小結 32
2.7 視和控制條如何共享客戶區 32
2.7.1 CFrameWnd::RecalcLayout() 32
2.7.2 CWnd::RepositionBars() 33
2.7.3 CControlBar::OnSizeParent() 33
2.7.4 CalcDynamicLayout()和
CalcFixedLayout () 34
2.7.5 CToolBar::CalcFixedLayout()和CTool Bar:: CalcDynamicLayout() 35
2.7.6 工具欄布局 35
2.7.7 CStatusBar::CalcFixedLayout() 36
2.7.8 CDockBar::CalcFixedLayout() 36
2.7.9 共享客戶區小結 36
2.8 對話條 37
2.9 伸縮條 38
2.9.1 CReBar和CReBarCtrl 39
2.9.2 CReBar::CalcFixedLayout() 39
2.10 命令條 39
2.11 控制條窗口小部件風格 40
2.11.1 工具欄按鈕風格 40
2.11.2 狀態欄窗格風格 40
2.11.3 伸縮條段風格 40
2.12 設計自己的控制條 41
2.12.1 重載CControlBar::CalcDynamic-Layout() 41
2.12.2 增加WM_SIZEPARENT消息處理器 41
2.12.3 重載CMainFrame::RecalcLayout() 41
2.12.4 從CDockBar派生 42
2.13 實例 42
2.14 總結 42
第3章 通信 43
3.1 進程間通信 43
3.1.1 通信策略 43
3.1.2 同步和異步通信 44
3.2 窗口消息 44
3.2.1 打開和關閉 44
3.2.2 讀與寫 45
3.2.3 回顧 45
3.3 動態數據交換 46
3.3.1 客戶/服務器 46
3.3.2 打開和關閉 46
3.3.3 讀和寫 47
3.3.4 其他DDE函數 48
3.3.5 MFC支持 48
3.3.6 回顧 49
3.4 消息管道 49
3.4.1 打開和關閉 49
3.4.2 讀和寫 50
3.4.3 回顧 51
3.5 Windows套接字 51
3.5.1 打開和關閉 52
3.5.2 讀和寫 52
3.5.2 通過Windows套接字序列化 53
3.5.3 數據流和數據報 53
3.5.4 回顧 54
3.6 串行/并行通信 54
3.6.1 打開和關閉 54
3.6.2 讀和寫 54
3.6.3 配置端口 55
3.6.4 回顧 55
3.7 Internet通信 56
3.7.1 打開和關閉文件 56
3.7.2 讀文件 56
3.7.3 打開和關閉連接 56
3.7.4 其他Internet類 57
3.8 通信方式小結 57
3.9 共享數據 58
3.10 共享內存文件 58
3.10.1 創建和銷毀 58
3.10.2 讀和寫 58
3.10.3 回顧 59
3.11 文件映射 59
3.11.1 打開和關閉 59
3.11.2 讀和寫 60
3.11.3 數據同步 60
3.11.4 回顧 60
3.12 客戶/服務器 61
3.12.1 傳遞調用參數 61
3.12.2 遠程過程調用 62
3.13 小結 62
第二部分 用戶界面實例
第4章 應用程序和環境 64
4.1 實例1:在工具欄中添加靜態標識符 64
4.2 實例2:在工具欄中添加動態標識符 71
4.3 實例3:只啟動一個實例 75
4.4 實例4:創建對話框/MDI混合式
應用程序 77
4.5 實例5:在系統托盤中添加圖標 79
4.6 實例6: 主菜單狀態欄中的標記 81
第5章 菜單、控件條和狀態欄 85
5.1 實例7:在菜單中添加圖標 85
5.2 實例8:調整命令條外觀 97
5.3 實例9:可編程工具欄 102
5.4 實例10:在對話框中添加工具欄、
菜單和狀態欄 127
5.5 實例11:在彈出菜單中增加位圖標記 129
5.6 實例12:工具欄上的下拉按鈕 131
5.7 實例13:在狀態欄中添加圖標 136
5.8 實例14:使用伸縮條 141
第6章 視 143
6.1 實例15:創建標簽窗體視 143
6.2 實例16:創建具有通用控件的視 150
6.3 實例17 :打印報表 156
6.4 實例18: 打印視 167
6.5 實例19:繪制MDI客戶視 174
6.6 實例20:拖放文件到視 177
第7章 對話框和對話條 179
7.1 實例21:動態改變對話框的尺寸 179
7.2 實例22:自定義數據交換并驗證 184
7.3 實例23:重載通用文件對話框 187
7.4 實例24:重載通用顏色對話框 190
7.5 實例25:獲得目錄名 192
7.6 實例26:子對話框 197
7.7 實例27:子屬性表 198
第8章 控件窗口 200
8.1 實例28:自己繪制的控件 200
8.2 實例29:在窗口標題中添加按鈕 204
8.3 實例30:添加熱鍵控件 211
第9章 繪圖 213
9.1 實例31:使用非散射顏色 213
9.2 實例32:伸展位圖 227
9.3 實例33:抓取屏幕 231
9.4 實例34:輸出DIB位圖文件 236
第10章 幫助 243
10.1 實例35:添加幫助菜單項 243
10.2 實例36:添加上下文相關幫助 245
10.3 實例37:添加氣泡幫助 247
第11章 普通窗口 254
11.1 實例38:創建普通窗口 254
11.2 實例39:創建短調用形式窗口類 256
11.3 實例40:創建長調用形式窗口類 258
第12章 特定的應用程序 261
12.1 實例41:創建簡單的文本編輯器 261
12.2 實例42:生成簡單的RTF編輯器 262
12.3 實例43:創建資源管理器界面 265
12.4 實例44:創建簡單的ODBC數據庫
編輯器 284
12.5 實例45:創建簡單的DAO數據庫
編輯器 287
12.6 實例46:創建簡單的向導 289
第三部分 內部處理實例
第13章 消息和通信 295
13.1 實例47:等待消息 296
13.2 實例48:清除消息 297
13.3 實例49:向其他應用程序發送消息 298
13.4 實例50:與其他應用程序共享數據 300
13.5 實例51:使用套接字與任意的應用
程序通信 301
13.6 實例52:使用串行或并行I/O 321
第14章 多任務 331
14.1 實例53:后臺處理 331
14.2 實例54:運行其他應用程序 332
14.3 實例55:改變優先級 334
14.4 實例56:應用程序內部的多任務
工作者線程 336
14.5 實例57:應用程序內部的多任務
—用戶界面線程 339
14.6 實例58:向用戶界面線程發送消息 342
14.7 實例59:線程間的數據共享 343
第15章 其他 347
15.1 實例60:創建定時器 347
15.2 實例61:播放聲音 349
15.3 實例62:創建VC++宏 350
15.4 實例63:使用函數地址 351
15.5 實例64:二進制字符串 352
15.6 實例65:重新啟動計算機 356
15.7 實例66:獲得可用磁盤空間 357
15.8 實例67:閃爍窗口和文本 358
第四部分 附錄
附錄A 消息和重載順序 361
附錄B 繪圖結構 385
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -