MFC Windows 程序設計, 2/e MFC Windows程序设计(第2版)(修订版)(附盘)

帕羅賽斯

  • 出版商: 清華大學
  • 出版日期: 2007-05-01
  • 售價: $768
  • 貴賓價: 9.5$730
  • 語言: 簡體中文
  • 頁數: 658
  • 裝訂: 平裝
  • ISBN: 7302150427
  • ISBN-13: 9787302150428
  • 相關分類: MFC

立即出貨

買這商品的人也買了...

商品描述

《MFC Windows程序設計》(第2版)(修訂版)不僅擴展了已被認為是權威的關於Microsoft用於Windows API的功能強大的C++類庫的闡述,還新增了有關COM、OLE和ActiveX的內容。《MFC Windows程序設計》(第2版)(修訂版)的作者,Jeff Prosise,用其無與倫比的技巧向讀者講述了MFC程序設計中的基本概念和主要技術再次闡釋了在32位Windows平臺上進行了快速的面向對象開發的完美方法。《MFC Windows程序設計》(第2版)(修訂版)涵蓋了以下專題:事件驅動程序設計和MPC的基礎知識文檔/視圖體系結構位圖、調色板和區域多線程和線程同步MFC與組件對象模型(COM)ActiveX控件

作者簡介

作者:(美)帕羅賽斯

Jeff Prosise是一位作者、教員和講師,他以Windows編程和教授別人如何進行Windows為生。作為一位在Windows程序設計、MFC和COM領域世界知名的權威,他還是《PC Magazinge》和《Microsoft Systems Journal》雜誌的組稿編輯。

目錄大綱

鳴謝

序言

第Ⅰ部分Windows和MFC基礎

第1章Hello,MFC 

1.1 Windows編程模型

1.1.1消息消息還是消息

1.1.2 Windows程序設計SDK風格

1.1.3匈牙利標記法和Windows數據類型

1.1.4 SDK程序設計展望

1.2 MFC簡介

1.2.1使用C++和MFC的好處

1.2.2 MFC的設計思想

1.2.3文檔/視圖體系結構

1.2.4 MFC類的分層結構

1.2.5 AFX函數

1.3您的第一個MFC應用程序

1.3.1應用程序對象

1.3.2 MFC如何使用應用程序對象

1.3.3框架窗口對象

1.3.4繪製窗口

1.3.5消息映射

1.3.6消息映射的工作方式

1.3.7 Windows、字符集和_T宏

1.3.8建立應用程序

1.3.9小結

第2章在窗口中繪圖

2.1 Windows GDI 

2.1.1 MFC設備描述表類

2.1.2設備描述表屬性

2.1.3繪圖模式

2.1.4映射模式

2.1.5可編程映射模式

2.1.6坐標轉換

2.1.7移動原點

2.1.8坐標系小結

2.1.9獲取設備信息

2.2用GDI繪圖

2.2.1畫直線和曲線

2.2.2圓橢圓、多邊形以及其他形狀

2.2.3 GDI畫筆和CPen類

2.2.4 GDI畫刷和CBrush類

2 .2.5畫文本

2.2.6 GDI字體和CFont類

2.2.7光柵字體與TrueType字體

2.2.8旋轉文本

2.2.9備用對象

2.2.10刪除GDI對象

2.2.11取消對GDI對象的選定

2.2.12標尺應用程序

2.3看看畫了些什麼

2.3.1給窗口添加滾動條

2.3.2設定滾動條的範圍、位置和頁面大小

2.3.3使滾動條滑塊大小和窗口尺寸同步變化

2.3.4處理滾動條消息

2.3.5滾動窗口

2.3.6 Accel應用程序

2.4遺留問題

第3章鼠標和鍵盤

3.1從鼠標獲取輸入

3.1.1客戶區鼠標消息

3.1.2 TicTac應用程序

3.1.3非客戶區鼠標消息

3.1. 4 WM_NCHITTEST消息

3.1.5 WM_MOUSELEAVE和WM_MOUSEHOVER消息

3.1.6鼠標滾輪

3.1.7捕獲鼠標

3.1.8鼠標捕獲的應用

3.19光標

3.1.10沙漏形光標

3.1.11鼠標雜錄

3.2從鍵盤獲取輸入

3.2.1輸入焦點

3.2.2擊鍵消息

3.2.3虛擬鍵代碼

3.2.4 Shift狀態及切換

3.2.5字符消息

3.2.6死鍵消息

3.2.7插入符

3.3 VISUALKB應用程序

3.3.1處理插入符

3.3.2輸入及編輯文本

3.3.3其他有趣 容

第4章菜單

4.1菜單基礎

4.1.1創建菜單

4.1.2加載並顯示菜單

4.1.3響應菜單命令

4.1.4命令範圍

4.1.5更新菜單中的菜單項

4.1.6更新範圍

4.1.7鍵盤加速鍵

4.2 SHAPES應用程序

4.2.1運行MFC AppWizard 

4.2.2分析AppWizard的輸出

4.2.3 AppWizard之外的工作

4.2.4過程小結

4.3菜單魔術

4.3.1通過手工編程創建菜單

4.3.2通過手工編程修改菜單

4.3.3系統菜單

4.3.4自製菜單

4.3.5層疊菜單

4.3.6上下文菜單

4.4 COLORS應用程序

4.4.1上下文菜單

4.4.2試一試

第5章MFC集合類

5.1數組

5.1.1 MFC數組類

5.1 .2動態調整數組大小

5.1.3用CArray創建類型安全數組類

5.2列表

5.2.1 MFC列表類

5.2.2用Clist創建類型安全列表類

5.3映射表

5.3.1 MFC映射表類

5.3.2映射表工作方式

5.3.3提高查找效率

5.3.4用CMap創建類型安全映射表類

5.4類型指針類

第6章文件I/O和串行化

6.1 CFile類

6.1.1打開、關閉和創建文件

6.1.2讀和寫

6.1.3 CFile派生類

6.1.4枚舉 文件和文件夾

6.2串行化和CArchive類

6.2.1串行化基礎

6.2.2編寫可串行化類

6.2.3給可串行化類分配版本號:可配置版本模式

6.2.4串行化工作過程

6.2.5串行化CObject 

第7章控件

7.1傳統控件

7.1.1 CButton類

7.1.2 CListBoX類

7.1.3 CStatic類

7.1.4 FontView應用程序

7.1.5 CEdit類

7.1.6趕快!即時記事本

7.1.7 CComboBox類

7.1.8 CScrollBar類

7.2高級控件程序設計

7.2.1數字編輯校件

7.2.2自製列錶框

7.2.3圖形按鈕

7.2.4自定義控件的顏色

7.2.5消息反射

第8章對話框和屬性表

8.1模式對話框和CDialog類

8.1.1對話框模板

8.1.2 CDialog類

8.1.3創建模式對話框

8.1.4對話框數據交換和對話框數據校驗

8.1.5與對話框中的控件相互作用

8.1.6 DlgDemol應用程序

8.2無模式對話框

8.3用對話框作為主窗口

8.4屬性表

8.5公用對話框

8.5.1修改公用對話框

8.5.2 Phones應用程序

第Ⅱ部分文檔/視圖體系結構

第9章文檔、視圖和單文檔界面

9.1文檔/視圖基礎知識

9.1.1再看InitInstance函數

9.1.2文檔對象

9.1.3視圖對象

9.1.4框架窗口對象

9.1.5動態對象創建

9.1.6有關SDI文檔模板的其他內容

9.1.7用操作系統命令解釋器註冊文檔類型

9.1.8命令傳送

9.1.9預定義的命令ID和命令處理程序

9.2第一個文檔/視圖應用程序

9.2.1 SdiSquares應用程序

9.2.2循序漸進地創建SdiSquares 

9.3文檔+視圖=較少的工作量

第10章滾動視圖、HTML視圖以及其他視圖類型

10.1滾動視圖

10.1.1 CScrollView基礎

10.1.2 CScrollView操作

10.1.3優化滾動操作

10.1.4 ScrollDemo應用程序

10.1.5普通視圖轉換為滾動視圖

10.2 HTML視圖

10.2.1 CHtmlView操作

10.2.2 CHtmlView可覆蓋函數

10.2.3在基於CHtmlView的應用程序中使用DHTML 

10.2.4樹形視圖

10.2 .5初始化樹形視圖

10.2.6樹形視圖的成員函數和通知

10.2.7 DriveTree應用程序

10.3列表視圖

10.3.1初始化列表視圖

10.3.2修改表現樣式

10.3.3在列表視圖中排序

10.3.4列表視圖中的命中測試

10.3.5 WinDir應用程序

10.4自製控件視圖

第11章多文檔和多視圖

11.1 MFC和多文檔界面

11.1.1同步文檔的多個視圖

11.1.2 MdiSquares應用程序

11.1.3支持多個文檔類型

11.1.4 MDI之外的其他選擇

11.2拆分窗口

11.2.1動態拆分窗口

11.2.2 Sketch應用程序

11.2.3靜態 拆分窗口

11.2.4 Wanderer應用程序

11.2.5自定義命令傳送

11.2.6嵌套拆分窗口

11.2.7帶有多種視圖類型的動態拆分窗口

第12章工具欄、狀態欄和組合欄

12.1工具欄

12.1.1創建和初始化工具欄

12.1.2固定式和浮動式工具欄

12.1.3控制工具欄的可見性

12.1.4保持工具欄按鈕和應用程序同步

12.1.5添加工具提示和狀態柱工具說明

12.1.6在工具欄中添加非按鈕控件

12.1.7更新非按鈕控件

12.1.8使工具欄設置永久化

12.1.9 AppWizard提供的工具欄支持

12.2狀態欄

12.2.1創建和初始化狀態欄

12.2. 2為菜單項提供上下文相關幫助

12.2.3創建自定義狀態欄窗格

12.2.4 AppWizard提供的狀態欄支持

12.3總結:MYWORD應用程序

12.3.1主工具欄

12.3.2樣式欄

12.3.3再談CRichEditView 

12.4組合欄

第13章打印和打印預覽

13.1通過文檔和視圖打印

13.1.1 Windows打印體系結構

13.1.2 MFC打印體系結構

13.1.3打印預覽

13.2只有打印功能的應用 序

13.2.1黑白打印預覽

13.3複雜的打印應用程序

13.3.1串行化的唯一方法

13.4打印技巧與訣竅

13.4.1使用打印對話框中的選定範圍單選按鈕

13.4.2不要假定——實踐出真知!

13.4.3添加默認分頁支持

13.4.4枚舉打印機

第Ⅲ部分高級篇

第14章計時器和空閑處理

14.1計時器

14.1.1設置計時器:方法1 

14.1.2響應WM_TIMER消息

14.1.3設置計時器:方法2 

14.1.4清除計時器

14.2 CLOCK應用程序

14.2.1處理計時器消息

14.2.2獲得當前時間:CTime類

14.2.3使用MM_ISOTROPIC映射方式

14.2.4隱藏和顯示標題欄

14.2.5實現客戶區拖動

14.2.6使用系統萊單作為上下文萊單

14.2.7最頂層窗口

14.2.8保留配置設置

14.2.9控制窗口大小:WM_GETMINMAXINFO消息

14.3空閑處理

14.3.1使用Onldle 

14.3.2對比空閑處理和多線程處理

第15章位圖、調色板以及區域

15.1調色板

15.1.1 Windows使用顏色的方式

15.1.2邏輯調色板和CPalette類

15.1.3創建邏輯調色板

15.1.4實現邏輯調色板

15.1.5用調色板顏色繪圖

15.1.6 WM_OUERYNEWPALETTE和WM_PALETTECHANGED消息

15.1.7確定是否需要邏輯調色板

15.1.8 PaletteDemo應用程序

15.1.9調色板動畫

15.1.10 ::SetSystemPaletteUse函數

15.2位圖

15.2.1 DDB和CBitmap類

15.2.2按位將位圖傳送到屏幕和其他設備

15.2.3位圖資源

15.2.4 DIB和DIB分區

15.2.5位塊傳送、光柵操作以及顏色映射

15.2.6 BitmapDemo應用程序

15.2.7編寫BMP文件查看器

15.2.8再論::LoadImage 

15.3區域

15.3.1區域和CRgn類

15.3.2 RegionDemo應用程序

第16章公用控件

16.1公用控件基礎

16.1 .1創建公用控件

16.1.2處理通知:WM_NOTIFY消息

16.2滑桿、微調按鈕和工具提示控件

16.2.1滑桿控件

16.2.2微調按鈕控件

16.2.3工具提示控件

16.2.4 GridDemo應用程序

16.3圖像列表和ComboBoxEx控件

16.3.1圖像列表

16.3.2 ComboBoxEx控件

16.3.3 PathList應用程序

16.4進度控件和動畫控件

16.4.1進度控件

16.4.2動畫控件

16.5 IP地址控件和其他數據輸入控件

16.5.1 IP地址控件

16.5.2熱鍵控件

16.5.3月曆控件

16.5.4日期-時間拾取控件

第17章線程和線程同步化

17.1線程

17.1.1創建工作者線程

17.1.2 創建UI線程

17.1.3暫停和繼續執行線程

17.1.4使線程睡眠

17.1.5終止線程

17.1.6自動刪除CWinThread 

17.1.7結束另一個線程

17.1.8線程、進程以及優先級別

17.1.9在多線程應用程序中使用C運行時函數

17.1.10跨線程界限調用MFC成員函數

17.1.11您的第一個多線程應用程序

17.2線程同步

17.2.1臨界區

17.2.2互斥量

17.2.3事件

17.2. 4信號量

17.2.5 CSingleLock和CMultibock類

17.2.6編寫線程安全類

17.2.7 ImageEdit應用程序

17.3小知識點

17.3.1消息泵

17.3.2執行其他進程

17.3.3文件改變通知

第Ⅳ部分COM,OLE和ActiveX 

第18章MFC和組件對像模型

18.1組件對像模型

18.1.1實例化COM對象

18.1.2對像生存期

18.1.3獲得接口指針

18.1.4 COM服務器

18.1.5定位透明度

18.1.6對象鏈接和嵌入

18.1.7 Active Documents 

18.1.8 ActiveX 

18.2 MFC和COM 

18.2.1多重繼承

18.2.2嵌套類

18.2.3 MFC和嵌套類

18.2.4 MFC實現IUnknown的方法

18.2.5接口映射

18.2.6 MFC和聚合

18.2.7 M FC和類廠

18.2.8總結

第19章剪貼板和OLE施放

19.1傳統剪貼板

19.1.1剪貼板格式

19.1.2私有剪貼板格式

19.1.3以多種格式提供數據

19.1.4查詢有效數據格式

19.1 .5延時再現

19.1.6創建可重用剪貼板類

19.2 OLE剪貼板

19.2.1 OLE剪貼板基礎

19.2.2 MFC、全局內存和OLE剪貼板

19.2.3使用其他存儲媒體

19.2.4將OLE剪貼板看作CFile 

19.2.5多種格式和多種存儲媒體

19.2.6檢查數據有效性

19.2.7用COleDataSource進行延時再現

19.2.8 COleDataSource和COleDataObject複習

19.3 OLE拖放

19.3.1拖放來源剖析

19.3. 2拖放目標剖析

19.3.3 MFC對OLE拖放的支持

19.3.4拖放目標滾動

19.4綜合應用:WIDGET應用程序

19.4.1 AfxOleInit函數

第20章Automation 

20.1 Automation基礎

20.1.1 IDispatch:所有Automation的基礎

20.1.2 Automation數據類型

20.1.3滯後綁定與超前綁定的對比

20.1.4雙接口

20.1.5類型庫

20.2 MFC Automation服務器

20.2.1 MFC、IDispatch和調度映射

20.2.2編寫Automation 務器

20.2.3添加Automation方法

20.2.4添加Automation屬性

20.2.5簡單的Automation服務器

20.2.6 Automation的分層結構

20.2.7更複雜的Automation服務器

20.3 MFC Automation客戶

20.3.1 PieClient應用程序

20.3.2連接到運行著的Automation服務器

第21章ActiveX控件

21.1 ActiveX控件基礎

21.1.1方法、屬性和事件

21.1.2自定義型和備用型

21.1.3環境屬性

21.1.4控件狀態

21.1.5 ActiveX控件體系結構

21.1.6 ActiveX控件容器

21.1.7 MFC對ActiveX控件的支持

21.2創建ActiveX控件

21.2.1運行ControlWizard 

21.2.2實現OnDraw 

21.2.3使用環境屬性

21.2.4添加方法

21.2.5添加屬性

21.2.6使屬性成為持久屬性

21.2.7自定義控件的屬性表

21.2.8給控件屬性表添加頁

21.2.9添加事件

21.2.10事件映射表

21.2.11創建一個ActiveX控件

21.2.12測試及調試ActiveX控件

21.2.13註冊ActiveX控件

21.3在MFC應用程序中使用ActiveX控件

21.3.1調用ActiveX控件的方法

21.3.2處理事件

21.3.3 CalUser應 程序

21.3.4在非對話框窗口中使用ActiveX控件

21.3.5在Web網頁中使用ActiveX控件

21.4高級論題

21.4.1無窗口控件

21.4.2控件子類化

21.4.3控件許可