Windows程序設計檢視原始碼討論檢視歷史
Windows程序設計 |
《Windows程序設計(第5版 珍藏版)》是2010年清華大學出版社出版的圖書,作者是(美)佩措爾德,譯者是方敏、張勝、梁路平。
基本內容
定價:129.00元
出版時間:2010年9月1日
開本:16開
ISBN:9787302227397
出版社:清華大學出版社
作者:佩措爾德(CharlesPetzold)
譯者:方敏、張勝、梁路平
書名:Windows程序設計
內容簡介
作為Windows開發人員的必備參考,涵蓋基礎知識和中高級主題,全面地介紹了Windows程序設計所涉及的細枝末節,旨在幫助讀者從高屋建瓴的角度,建立完整的知識體系,為以後的職業生涯奠定良好的基礎。全書共3部分23章。第1~12章着重介紹基礎知識,第13~18章的主題為圖形,第19~23章涉及更多高級主題。
《Windows程序設計(第5版 珍藏版)》適合任何層次的Windows程序員閱讀和參考,是幫助他們梳理和建立Windows知識體系的理想讀物。
目錄
第Ⅰ部分 基礎知識
第1章 起步
1.1 Windows環境
1.1.1 Windows簡史
1.1.2 Windows的方方面面
1.1.3 動態鏈接
1.2 Windows編程選項
1.2.1 API及內存管理模式
1.2.2 語言選擇
1.2.3 編程環境
1.2.4 API文檔
1.3 你的第一個Windows程序
1.3.1 字符模式
1.3.2 Windows對應程序
1.3.3 頭文件
1.3.4 程序入口
1.3.5MessageBox函數
1.3.6 編譯、鏈接及運行
第2章Unicode簡介
2.1字符集簡史
2.1.1美國標準
2.1.2 美國以外的世界
2.1.3擴展ASCII
2.1.4 雙字節字符集
2.1.5 Unicode的解救方案
2.2 寬字符和c語言
2.2.1 char數據類型
2.2.2 更寬的字符
2.2.3 寬字符庫函數
2.2.4 維護一個源代碼文件
2.3 寬字符和Windows
2.3.1 Windows頭文件的類型
2.3.2 Windows函數調用
2.3.3 Windows的字符串函數
2.3.4 在Windows中使用printf
2.3.5 格式化的消息框
2.3.6 國際化之於本書
第3章 窗口與消息
3.1 窗口的創建
3.1.1 系統結構概述
3.1.2 HELLOWIN程序
3.1.3 通盤考慮
3.1.4 窗口類的註冊
3.1.5 窗口的創建
3.1.6 窗口的顯示
3.1.7 消息循環
3.1.8 窗口過程
3.1.9 消息的處理
3.1.10 聲音文件的播放
3.1.11WM_PAINT消息
3.1.12 WM_DESTROY消息
3.2 Windows編程中的若干難點
3.2.1 究竟是誰調用誰
3.2.2 隊列消息和非隊列消息
3.2.3速戰速決
第4章 文本輸出
4.1 繪製和重繪
4.1.1 WM_PAINT消息
4.1.2 有效矩形和無效矩形
4.2 GDI簡介
4.2.1 設備環境
4.2.2 獲取設備環境句柄:方法一
4.2.3 繪製信息結構
4.2.4 獲取設備環境句柄:方法二
4.2.5 TEXTOUT函數詳解
4.2.6 系統字體
4.2.7 字符大小
4.2.8 文本尺寸的度量
4.2.9 文本的格式化
4.2.10 綜合使用
4.2.11 SYSMETSl.C窗口過程
4.2.12 空間不夠
4.2.13 客戶區的尺寸
4.3 滾動條
4.3.1 滾動條的範圍和位置
4.3.2 滾動條消息
4.3.3 加入滾動條的SYSMET
4.3.4 程序的繪製代碼的結構
4.4 效果更好的滾動
4.4.1 滾動條信息函數
4.4.2 最遠可以捲動到哪裡?
4.4.3 新的SYSMETS
4.4.4 可我不想用鼠標
第5章 繪圖基礎
5.1 GDI的結構
5.1.1 GDI原理
5.1.2 GDI函數調用
5.1.3 GDI的基本圖形
5.1.4 其他
5.2 設備環境
5.2.1 獲取設備環境句柄
5.2.2 獲取設備環境的信息
5.2.3 DEVCAPSl程序
5.2.4 設備的尺寸
5.2.5 色彩ABC
5.2.6 設備環境屬性
5.2.7 保存設備環境
5.3 點和線的繪製
5.3.1 設定像素
5.3.2 直線
5.3.3 邊框繪製函數
5.3.4貝塞爾樣條曲線
5.3.5 使用現有畫筆
5.3.6 創建、選擇和刪除畫筆
5.3.7 填充空隙
5.3.8 繪圖模式
5.4 繪製填充區域
5.4.1 Polygon函數和多邊形填充模式
5.4.2 用畫刷填充內部
5.5 GDI映射模式
5.5.1 設備坐標和邏輯坐標
5.5.2 設備坐標系統
5.5.3 視口和窗口
5.5.4 使用MMTEXT
5.5.5 度量映射模式
5.5.6 自定義的映射模式
5.5.7 WHATSIZE程序
5.6 矩形、區域和剪裁
5.6.1 處理矩形
5.6.2 隨機矩形
5.6.3 建立和繪製區域
5.6.4 矩形與區域的剪裁
5.6.5 CLOVER程序
第6章 鍵盤
6.1 鍵盤基礎
6.1.1 忽略鍵盤
6.1.2 誰獲得了焦點?
6.1.3 隊列和同步
6.1.4 擊鍵和字符
6.2 擊鍵消息
6.2.1 系統鍵擊和非系統鍵擊
6.2.2 虛擬鍵代碼
6.2.3 1param信息
6.2.4 轉義狀態
6.2.5 使用擊鍵消息
6.2.6 為SYSMETS加上鍵盤處理功能
6.3 字符消息
6.3.1 四類字符消息
6.3.2 消息排序
6.3.3 控制字符的處理
6.3.4 死字符消息
6.4 鍵盤消息和字符集
6.4.1 KEYVIEW1程序
6.4.2 非英語鍵盤問題
6.4.3 字符集和字體
6.4.4Unicode解決方案
6.4.5TrueType字體和大字體
6.5 插入符號(不是光標)
6.5.1 一些關於插入符號的函數
6.5.2 TYPER程序
第7章 鼠標
7.1 鼠標的基礎知識
7.1.1 一些基本術語
7.1.2 鼠標的複數形式是什麼?
7.2 客戶區鼠標消息
7.2.1 簡單的鼠標處理示例
7.2.2 處理Shift鍵
7.2.3 鼠標雙擊
7.3 非客戶區鼠標消息
7.3.1 擊中測試消息
7.3.2 消息引發消息
7.4 程序中的擊中測試
7.4.1 一個假想的例子
7.4.2 一個簡單的程序
7.4.3 使用鍵盤模仿鼠標操作
7.4.4 在CHECKER中增加鍵盤接口
7.4.5 在擊中測試中使用子窗口
7.4.6 CHECKER程序中的子窗口
7.4.7 子窗口和鍵盤
7.5 捕獲鼠標
7.5.1 設計一個矩形
7.5.2 捕獲的解決方案
7.5.3 BLOKOUT2程序
7.6 鼠標的滾輪
第8章計時器
8.1 計時器的基本知識
8.1.1 系統和計時器
8.1.2 計時器消息不是異步的
8.2 使用計時器的三種方法
8.2.1 方法一
8.2.2 方法二
8.2.3 方法三
8.3 使用計時器作為時鐘
8.3.1 數字時鐘
8.3.2 獲取當前時間
8.3.3 顯示數字和冒號
8.3.4 考慮國際化
8.3.5 模擬時鐘
8.4 在狀態報告上使用計時器
第9章 子窗口控件
9.1 按鈕類
9.1.1 創建子窗口
9.1.2 子窗口傳遞信息給父窗口
9.1.3 父窗口傳遞信息給子窗口
9.1.4 按鈕
9.1.5 複選框
9.1.6 單選按鈕
9.1.7 組合框
9.1.8 改變按鈕文本
9.1.9 可見的按鈕和啟用的按鈕
9.1.10 按鈕和輸入焦點
9.2 控件和顏色
9.2.1 系統顏色
9.2.2 按鈕的顏色
9.2.3 WMCTLCOLORBTN消息
9.2.4 自繪按鈕
9.3靜態類
9.4 滾動條類
9.4.1 COLORS1程序
9.4.2 自動鍵盤接口
9.4.3 窗口子類
9.4.4 背景着色
9.4.5 給滾動條和靜態文本着色
9.5 編輯類
9.5.1 編輯類的樣式
9.5.2 編輯控件的通知消息
9.5.3 使用編輯控件
9.5.4 傳遞給編輯控件的消息
9.6 列表框類
9.6.1 列表框的樣式
9.6.2 向列表框中添加字符串
9.6.3 項目的選擇和提取
9.6.4 接收來自列表框的消息
9.6.5 簡單的列表框程序
9.6.6 列出文件
9.6.7 Windows的HEAD程序
第10章 菜單和其他資源
10.1 圖標、鼠標指針、字符串和自定義資源
10.1.1 向程序添加圖標
10.1.2 獲得圖標的句柄
10.1.3 在應用程序中使用圖標
10.1.4 使用自定義鼠標指針
10.1.5 字符串資源
10.1.6 自定義資源
10.2 菜單
10.2.1 和菜單有關的概念
10.2.2 菜單結構
10.2.3 定義菜單
10.2.4 在程序中引用菜單
10.2.5 菜單和消息
10.2.6 範例程序
10.2.7 菜單設計中的規範
10.2.8 定義菜單的繁瑣方式
10.2.9 浮動彈出菜單
10.2.1 0使用系統菜單
10.2.1 1改變菜單
10.2.1 2其他菜單命令
10.2.1 3菜單的另類用法
10.3 鍵盤加速鍵
10.3.1 為什麼你應該使用鍵盤加速鍵
10.3.2 指定加速鍵的一些規則
10.3.3 加速鍵表
10.3.4 加載加速鍵表
10.3.5 翻譯按鍵
10.3.6 接收加速鍵消息
10.3.7 帶有菜單和加速鍵的POPPAD程序
10.3.8 啟用菜單項
10.3.9 處理菜單項
第11章 對話框
11.1 模態對話框
11.1.1 創建一個About對話框
11.1.2 對話框及其模板
11.1.3 對話框過程
11.1.4 激活對話框
11.1.5 主題變換
11.1.6 更複雜的對話框
11.1.7 對話框控件的應用
11.1.8 OK和Cancel按鈕
11.1.9 避免全局變量
11.1.1 0Tab停靠和選項組
11.1.1 1在對話框上繪圖
11.1.1 2關於對話框的其他函數.
11.1.1 3定義程序自己的控件
11.2非模態對話框
11.2.1 模態與非模態對話框的區別
11.2.2 新的COLORS程序
11.2.3 HEXCALC:窗口還是對話框?
11.3 公用對話框
11.3.1 完善POPPAD
11.3.2 Unicode文件的讀/寫操作
11.3.3 改變字體
11.3.4 查找和替換
11.3.5 只調用一個函數的Windows程序
第12章 剪貼板
12.1 剪貼板的簡單使用
12.1.1 標準剪貼板數據格式
12.1.2 內存分配
12.1.3 將文本傳送到剪貼板
12.1.4 從剪貼板上獲取文本
12.1.5 打開和關閉剪貼板
12.1.6 剪貼板和unicode
12.2 複雜的剪貼板用法
12.2.1 利用多個數據項
12.2.2 延遲生成
12.2.3 私有數據格式
12.3 實現剪貼極查看器
12.3.1 剪貼板查看器鏈
12.3.2 剪貼板查看器的函數和消息
12.3.3 一個簡單的剪貼板查看器
第Ⅱ部分 關於圖的那些事兒
第13章 使用打印機
13.1 打印基礎
13.1.1 打印和後台處理
13.1.2 打印機設備環境
13.1.3 修改後的DEVCAPS程序
13.1.4 PrinterProperties調用
13.1.5 檢查BitBlt能力
13.1.6 最簡單的打印程序
13.2 打印圖形和文本
13.2.1 打印的基本過程
13.2.2 使用中止過程來取消打印
13.2.3 Windows如何使用AbortProc
13.2.4 實現中止過程
13.2.5 添加打印對話框
13.2.6 為POPPAD增加打印功能
第14章 位圖和Bitblt
14.1 位圖基礎
14.1.1 位圖的來源
14.2 位圖尺寸
14.2.1 顏色和位圖
14.2.2 現實世界的設備
14.2.3 GDI 支持的位圖
14.3 位塊傳輸
14.3.1 簡單的BitBlt
14.3.2 拉伸位圖
14.3.3 StretchBlt模式
14.3.4 光柵操作
14.3.5 圖案Blt
14.4 GDI 位圖對象
14.4.1 創建DDB
14.4.2 位圖位
14.4.3 內存設備環境
14.4.4 加載位圖資源
14.4.5 單色位圖格式
14.4.6 用位圖作畫刷
14.4.7 繪製位圖
14.4.8 陰影位圖
14.4.9 在功能表中使用位圖
14.4.10 非矩形位圖圖像
14.4.11 簡單的動畫
14.4.12 視窗外的位圖
第15章 與裝置無關的位圖
15.1 DIB檔案格式
15.1.1 OS/2樣式的DIB
15.1.2 由下而上
15.1.3 DIB圖素位元
15.1.4 擴展的Windows DIB
15.1.5 真實檢查
15.1.6 DIB壓縮
15.2 顏色遮罩(COLOR MASKING)
15.2.1 第4 版本的Header
15.2.2 第5 版的Header
15.2.3 顯示DIB資訊
15.3 顯示和列印
15.3.1 了解DIB
15.3.2 點對點圖素顯示
15.3.3 DIB的顛倒世界
15.3.4 循序顯示
15.3.5 縮放到合適尺寸
15.3.6 色彩轉換、調色盤和顯示效能
15.4 DIB和DDB的結合
15.4.1從DIB建立DDB
15.4.2從DDB到DIB
15.4.3 DIB區塊
15.4.4 DIB區塊的其他區別
15.4.5 檔案映射選項
15.4.6 總結
第16章 調色盤管理器
16.1 使用調色盤
16.1.1 視頻硬體
16.1.2 顯示灰階
16.1.3 調色盤資訊
16.1.4 調色盤索引方法
16.1.5 查詢調色盤支援
16.1.6 系統調色盤
16.1.7 其他調色盤函式
16.1.8 位元映射操作問題
16.1.9 查看系統調色盤
16.2 調色盤動畫
16.2.1 跳動的球
16.2.2 一個項目的調色盤動畫
16.2.3 工程應用程序
16.3 調色盤和真實世界圖像
16.3. 1 調色盤和packed DIB
16.3.2 「通用」調色盤
16.3.3 中間色調色盤
16.3.4 索引調色盤顏色
16.3.5 調色盤和位圖對象
16.3.6 調色盤和DIB區塊
16.4 DIB處理程序庫
16.4.1 DIBSTRUCT結構
16.4.2 資訊函式
16.4.3 讀、寫圖素
16.4.4 建立和轉換
16.4.5 DIBHELP 表頭檔案和巨集
16.4.6 DIBBLE程序
16.4.7 簡單調色盤;最佳化調色盤
16.4.8 均勻分布
16.6 轉換格式
第17章 文字和字體
17.1 簡單的文字輸出
17.1.1 文字輸出函式
17.1.2 文字的裝置內容屬性
17.1.3 使用備用字體
17.2 字體的背景
17.2.1 字體型態
17.2.2 TrueType 字體
17.2.3 屬性或樣式
17.2.4 間隔和間距
17.2.5 邏輯英寸問題
17.3 邏輯字體
17.3.1 邏輯字體的建立和選擇
17.3.2 PICKFONT程序
17.3.3 邏輯字體結構
17.3.4 字體映射演算法
17.3.5 取得字體資訊
17.3.6 字元集和Unicode
17.3.7 EZFONT系統
17.3.8 字體的旋轉
17.4 字體列舉
17.4.1 列舉函式
17.4.2 「ChooseFont」對話方塊
17.5 段落格式
17.5.1 簡單文字格式
17.5.2 使用段落
17.5.3 列印輸出預覽
17.6 有趣的東西
17.6.1 GDI 繪圖路徑
17.6.2 擴展畫筆
17.6.3 四個範例程序
第18章 METAFILE
18.1 舊的METAFILE格式
18.1.1 記憶體metafile 的簡單利用
18.1.將metafile儲存在磁碟上
18.1.老式metafile 與剪貼簿
18.2增強型METAFILE
18.2.1 基本程序
18.2.2 揭開內幕
18.2.3 metafile 與GDI 對象
18.2.4 metafile 和位圖
18.2.5 列舉metafile 內容
18.2.6 嵌入圖像
18.2.7 增強型metafile 閱覽器和印表機
18.2.8 顯示精確的metafile圖像
18.2.9 縮放比例和縱橫比
18.2.10 metafile 中的映射方式
18.2.11 映射與顯示
第Ⅲ部分 高級主題
第19章 多重文件介面
19.1 MDI 概念
19.1.1 MDI 的組成
19.1.2 MDI 支援
19.2 MDI 的範例程序
19.2.1 三個功能表
19.2.2 程序初始化
19.2.3 建立子視窗
19.2.4 關於框架視窗的訊息處理
19.2.5 子文件視窗
19.2.6 結束處理
第20章 多工和多線程
20.1 多工的各種模式
20.1.1 DOS下的多工
20.1.2 非優先權式的多工
20.1.3 Presentation Manager 和序列化的訊息佇列
20.1.4多線程解決方案
20.1.5 多線程架構
20.1.6 執行緒間的「爭吵」
20.1.7 Windows 的好處
20.1.8 新改良過的!支援多線程了!
20.2 WINDOWS的多線程處理
20.2.1 再論隨機矩形
20.2.2 程序設計競賽的問題
20.2.3 多線程解決方案
20.2.4 有問題嗎?
20.2.5 Sleep 的好處
20.3 執行緒同步
20.3.1 臨界區域
20.3.2 事件信號
20.3.3 BIGJOB1 程序
20.3.4 事件對象
20.3.5 執行緒區域儲存空間(TLS)
第21章 動態連結程序庫
21.1 動態連結程序庫的基本知識
21.1.1 程序庫:一詞多義
21.1.2 一個簡單的DLL
21.1.3 程序庫入口/出口點
21.1.4 測試程序
21.1.在DLL中共用記憶體
21.1.5 STRPROG程序
21.1.6 在STRPROG執行實體之間共用資料
21.2 各式各樣的DLL討論
21.2.1 不用輸入引用資訊的動態連結
21.2.2 純資源程序庫
第22章 聲音與音樂
22.1 WINDOWS 和多媒體
22.1.1 多媒體硬體
22.1.2 API 概述
22.1.3 用TESTMCI研究MCI
22.1.4 MCITEXT 和CD聲音
22.2 波形聲音
22.2.1 聲音與波形
22.2.2 脈衝編碼調製(Pulse Code Modulation)
22.2.3 取樣頻率
22.2.4 樣本大小
22.2.5 在軟體中產生正弦波
22.2.6 數位錄音機
22.2.7 另一種MCI 介面
22.2.8 MCI 命令字串的方法
22.2.9 波形聲音檔案格式
22.2.10 疊加合成實驗
22.2.11 起床號波形聲音
22.3 MIDI 和音樂
22.3.1 使用MIDI
22.3.2 程序更改
22.3.3 MIDI 通道
22.3.4 MIDI 訊息
22.3.5 MIDI 編曲簡介
22.3.6 通過鍵盤演奏MIDI 合成器
22.3.7 MIDI 擊鼓器
22.3.8 多媒體time 函式
22.3.9 RIFF檔案I/O
第23章 領略INTERNET
23.1 WINDOWS 套接字
23.1.1 套接字和TCP/IP
23.1.2 網絡時間服務
23.1.3 NETTIME 程序
23.2 WININET 和FTP
23.2.1 FTP API概況
23.2.2 更新展示程序[1]
參考文獻
- ↑ windows程序設計(中文完整版)豆丁網,2014-06-07