PowerBuilder Win32 API程式設計(高級卷)

《PowerBuilder Win32 API程式設計(高級卷)》是2004年由清華大學出版社出版的圖書,作者是馬貴安等。

圖書簡介

本書為“PowerBuilderWin32API技術叢書”之《PowerBuilder Win32API程式設計(高級篇)》,全書分6篇共19章,內容包括:Windows系統的訊息機制,通過訊息增強控制項功能的方法,Windows通用控制項的調用、Win32API列印控制、點陣圖操作、邏輯字型與文本、網路與Internet、FTP套用開發、Winsock網路套用開發等。全書以一定的廣度和深度闡述了Win32API程式設計中不易掌握,而且相關資料比較匱乏的內容。書中提供了有關訊息、列印控制、點陣圖操作、網路訪問、FTP檔案傳輸、Winsock等Win32API高級套用的解決方案,將大大擴充PowerBuilder的許多功能。

目錄

第1篇Windows系統訊息篇

第1章Windows系統的訊息機制 2

1.1Windows的工作機制 2

1.1.1Windows的工作方式——視窗、事件和訊息 2

1.1.2句柄的概念 2

1.1.3訊息的概念 3

1.1.4訊息的類型 4

1.1.5用於傳送訊息的API函式 6

1.2事件與訊息 8

1.2.1從訊息到事件 8

1.2.2PB事件對訊息的封裝 9

1.3訊息套用的幾個實例 17

1.3.1通用訊息設定對話框的逾時關閉 17

1.3.2通過訊息設定視窗標題和定義視窗熱鍵 19

1.3.3使用訊息控制視窗系統選單 21

1.4通過訊息將套用圖示加入到系統托盤中 23

1.4.1相關函式和結構 23

1.4.2載入圖示的3種途徑 25

1.4.3創建實現相關功能的用戶對象 28

1.4.4套用實例 35

第2章通過訊息增強控制項功能 40

2.1進度條控制項訊息 40

2.1.1進度條控制項訊息概述 40

2.1.2通過訊息改變進度條前景色和背景色 41

2.2組合框控制項訊息 42

2.2.1組合框控制項訊息概述 42

2.2.2使用訊息為組合框添加項目內容 44

2.2.3組合框中項目內容的快速查找 45

2.2.4使用訊息為組合框添加檔案列表 45

2.2.5通過訊息控制組合框的拉下或收起 46

2.3列表框控制項訊息解析 47

2.3.1列表框訊息 47

2.3.2隨滑鼠移動自動選擇列表框中項 49

2.3.3在列表框中快速查找開頭含有某字元串的項 50

2.3.4為含有超長文本的列表框增加提示功能 51

2.4ListView控制項訊息 53

2.4.1ListView控制項訊息概述 53

2.4.2讓ListView控制項顯示扁平滾動條 53

2.4.3自動調整ListView控制項的列寬 54

2.4.4為ListView控制項列增加Tooltips功能 55

2.5TreeView控制項訊息 56

2.5.1TreeView控制項訊息概述 56

2.5.2設定TreeView控制項節點文本的最大長度 58

2.5.3僅允許TreeView控制項節點文本中輸入數字 58

第3章Windows通用控制項的調用 60

3.1Windows通用控制項概述 60

3.1.1通用控制項視窗類 60

3.1.2判斷通用控制項動態庫的版本 61

3.1.3動態創建控制項 65

3.2月曆控制項調用 68

3.2.1月曆控制項概述 68

3.2.2月曆控制項的樣式 68

3.2.3月曆控制項的訊息 70

3.2.4創建套用於數據視窗的月曆控制項用戶對象 75

3.2.5在數據視窗中調用月曆控制項對象 102

3.3日期與時間檢出器控制項的調用 106

3.3.1日期與時間檢出器控制項概述 106

3.3.2日期與時間檢出控制項的訊息 107

3.3.3創建日期與時間檢出器控制項用戶對象 110

3.3.4日期與時間檢出器控制項用戶對象的調用 121

3.4工具提示控制項 123

3.4.1工具提示控制項概述 123

3.4.2工具提示控制項的訊息 125

3.4.3創建工具提示控制項用戶對象 131

3.4.4視窗中調用工具提示控制項用戶對象 139

3.4.5數據視窗中調用工具提示控制項用戶對象 141

3.5動畫控制項的調用 142

3.5.1動畫控制項概述 142

3.5.2動畫控制項的訊息 143

3.5.3創建動畫控制項用戶對象 145

3.5.4調用動畫控制項用戶對象 147

第4章鍵盤訊息機制及控制 149

4.1系統鍵盤控制概述 149

4.1.1鍵盤回響的訊息機制 149

4.1.2虛擬鍵定義 150

4.1.3熱鍵支持 152

4.2鍵盤控制套用實例 153

4.2.1設定ScrollLock、NumLock和CapsLock鍵的狀態 153

4.2.2數據視窗中用箭頭鍵替代Tab鍵的功能 159

4.2.3數據視窗中用Enter鍵替代Tab鍵的功能 161

4.2.4螢幕及活動視窗圖像捕捉功能的實現 162

4.2.5通過Keybd_event函式最小化所有視窗 163

4.3為PB套用註冊熱鍵 164

4.3.1相關API函式 164

4.3.2註冊熱鍵的方法 165

4.4滑鼠控制 167

4.4.1將滑鼠活動限定在某個範圍內 168

4.4.2追蹤滑鼠移動 170

4.4.3使用動畫滑鼠指針 172

4.5鍵盤輸入法 174

4.5.1鍵盤輸入法相關API函式 174

4.5.2獲取系統鍵盤輸入法列表 175

4.5.3輸入法的自動切換 176

第2篇列印及印表機控制篇

第5章Win32列印控制API基礎 182

5.1Win32印表機API概述 182

5.2列印及印表機控制API函式 183

5.2.1打開印表機對象函式 183

5.2.2獲取或設定印表機信息函式 184

5.2.3獲取或設定默認印表機函式 186

5.2.4枚舉印表機及列印作業信息函式 187

5.2.5獲取列印設備屬性函式 189

5.3列印及印表機相關數據結構 191

5.3.1DEVMODE結構 191

5.3.2PRINTER_DEFAULTS結構 199

5.3.3PRINTER_INFO_1結構 199

5.3.4PRINTER_INFO_2結構 200

第6章列印及印表機控制 202

6.1系統默認印表機的獲取和設定 202

6.1.1Windows2000默認印表機的獲取和設定 202

6.1.2Windows95/98/Me默認印表機的獲取和設定 205

6.1.3WindowsNT4.0默認印表機的獲取和設定 206

6.2獲取系統安裝的印表機列表 210

6.2.1獲取系統安裝的印表機列表簡介 210

6.2.2獲取指定印表機列印作業數目 212

6.3獲取列印設備的各項性能 214

6.3.1獲取印表機支持的紙型 214

6.3.2獲取印表機支持的紙盒 219

6.3.3獲取印表機支持的列印精度 221

第7章定製仿Word列印、Excel頁面設定對話框 224

7.1印表機控制用戶對象的建立 224

7.2定製Word風格列印設定對話框 240

7.2.1Word列印對話框的特點 240

7.2.2Word風格列印對話框的建立 241

7.3定製Excel風格的頁面設定對話框 246

7.3.1Excel風格的頁面設定對話框的特點 246

7.3.2定製Excel風格的頁面設定對話框 247

7.4綜合示例 252

7.4.1示例視窗 252

7.4.2列印預覽視窗 253

第3篇點陣圖操作篇

第8章點陣圖操作基礎 258

8.1設備場景 258

8.1.1什麼是設備場景 258

8.1.2設備場景的類型 260

8.1.3獲取和釋放視窗的設備場景句柄 261

8.1.4創建和刪除設備場景 263

8.1.5體驗設備場景 264

8.2點陣圖、畫筆和刷子的基本概念 267

8.2.1點陣圖 267

8.2.2畫筆 269

8.2.3刷子 273

8.2.4自定義圖案刷子 276

8.3常用點陣圖對象API函式 278

8.3.1點陣圖對象創建函式 278

8.3.2點陣圖對象繪製函式 280

8.3.3對象操作函式 286

8.3.4載入點陣圖檔案函式 287

8.3.5休眠函式 289

8.4光柵運算 289

8.4.1什麼是光柵運算 289

8.4.2Windows預定義光柵運算碼 291

8.4.3ROP效果演示 291

第9章點陣圖操作套用實例 297

9.1圖像透明顯示效果的實現 297

9.1.1通過光柵運算實現圖像透明顯示效果 297

9.1.2圖像透明顯示效果的另一種解決方案 305

9.2動畫效果的實現 310

9.2.1動畫效果的實現基本思路 310

9.2.2套用示例 311

9.3圖像特技顯示效果的實現 314

9.3.1各種圖像特技顯示效果的實現原理 314

9.3.2特技顯示效果的實現示例 318

9.4圖像特技效果在視窗中的套用 328

9.4.1為視窗增加背景圖案 328

9.4.2程式退出時視窗變暗效果的實現 333

第4篇邏輯字型與文本篇

第10章邏輯字型與文本 340

10.1字型概述 340

10.1.1字型及其分類 340

10.1.2字型家族 341

10.1.3字元集 342

10.1.4字型要素 344

10.2系統字型枚舉、添加和刪除 344

10.2.1獲取系統安裝的字型列表 345

10.2.2為系統註冊新字型 348

10.2.3註冊字型實例——條形碼的使用 354

10.3邏輯字型對象的建立 355

10.3.1創建邏輯字型 355

10.3.2通過CreateFont函式創建邏輯字型 359

10.4文本輸出及顯示特效的實現 361

10.4.1有關文本輸出的API函式 361

10.4.2文本旋轉效果的實現 362

10.4.3文本透明效果的實現 364

10.4.4文本多彩效果的實現 364

10.5通過文本函式增強PB進度條控制項功能 366

10.5.1改進的PB進度條控制項 366

10.5.2定製進度條控制項 370

第5篇網路與Internet篇

第11章網路訪問 376

11.1網路連線對話框的調用 376

11.1.1網路連線對話框函式1 376

11.1.2網路連線對話框函式2 379

11.2枚舉和瀏覽網路資源 384

11.2.1枚舉網路資源 384

11.2.2通過資料夾瀏覽通用對話框瀏覽網路資源 390

11.3添加、取消網路連線 393

11.3.1相關API函式 393

11.3.2連線網路資源示例 395

11.4網路驅動器UNC路徑名及映射 397

11.4.1獲取網路驅動器的UNC路徑名 397

11.4.2映射網路驅動器 399

11.5網路時間同步 402

11.5.1獲取伺服器的時間信息 402

11.5.2與網路伺服器時間同步 411

11.6獲取用戶的網路登錄名 413

11.7判斷網路的連線狀態 415

11.8檢測網路IP位址能否聯通 417

11.8.1Ping命令與網際訊息控制協定 417

11.8.2通過API函式傳送ICMP回應請求 418

11.9獲取主機的MAC物理地址 423

11.9.1ARP協定及其工作原理 423

11.9.2通過IP位址獲取本地或遠程主機的MAC地址 424

第12章InternetExplore瀏覽器 428

12.1獲取瀏覽器信息 428

12.1.1取得默認瀏覽器的路徑和檔案名稱 428

12.1.2取得IE瀏覽器的版本信息 430

12.2從套用中打開瀏覽器 435

12.2.1使用API函式打開瀏覽器 435

12.2.2使用PB動態庫中函式打開瀏覽器 436

12.3巧用瀏覽器功能 437

12.3.1檔案下載 437

12.3.2使用IE自動完成功能 439

12.3.3操作IE的收藏夾 442

12.4為IE工具列添加自定義按鈕 447

12.4.1註冊表中IE工具列自定義按鈕的相關信息 447

12.4.2添加自定義按鈕套用示例 449

12.5在PB中定製瀏覽器 451

12.5.1IE瀏覽器架構 452

12.5.2WebBrowser控制項的屬性、方法、事件和OLE命令 452

12.5.3使用WebBrowser控制項定製瀏覽器 455

第13章遠程訪問服務RAS 463

13.1遠程訪問服務RAS概述 463

13.1.1遠程訪問服務 463

13.1.2遠程訪問服務API接口 464

13.1.3Windows的RAS電話簿 465

13.1.4RAS錯誤信息 466

13.2調用RAS通用對話框 467

13.2.1調用主撥號網路對話框 467

13.2.2調用正在撥號對話框 470

13.2.3調用撥號網路監視器對話框 472

13.2.4Windows2000/XP中調用連線屬性對話框 473

13.2.5Windows95/98中調用連線屬性對話框 476

13.2.6調用創建新連線對話框 478

13.3獲取系統撥號連線列表 479

13.3.1獲取系統所有撥號連線列表 479

13.3.2獲取當前所有活動連線列表 482

13.4建立與遠程網路的連線 484

13.4.1建立連線 484

13.4.2獲取連線狀態 486

13.4.3終止遠程訪問連線 489

13.4.4建立PB遠程訪問用戶對象 490

第14章WinInet撥號連線控制 499

14.1WinInet撥號連線API函式概述 499

14.2啟用撥號連線 500

14.2.1啟動IE默認撥號連線 500

14.2.2啟動指定撥號連線 503

14.3確定網路連線狀態 507

14.3.1獲取當前網路的連線狀態 507

14.3.2測試到Internet的網路連線條件 511

第15章WinInet基礎 513

15.1Internet協定 513

15.1.1TCP/IP協定 513

15.1.2HTTP協定 515

15.1.3OSI模型高層接口——WinInet 516

15.2WinInet接口函式 516

15.2.1WinInet接口函式 516

15.2.2WinInet接口函式句柄 519

15.2.3WinInet句柄層次關係 520

15.3WinInet版本及錯誤信息 523

15.3.1確定WinInet版本的重要性 523

15.3.2獲取WinInet錯誤信息 526

第16章FTP檔案傳輸 533

16.1FTP概述 533

16.1.1FTP協定和工作原理 533

16.1.2匿名FTP服務 534

16.2建立Internet會話 535

16.2.1FTP函式的調用層次 535

16.2.2打開Internet會話句柄 536

16.2.3建立Internet會話 539

16.3FTP伺服器目錄操作 542

16.3.1在FTP伺服器上獲取和切換工作目錄 543

16.3.2在FTP伺服器上創建和移除目錄 544

16.3.3列出FTP伺服器指定目錄下的子目錄或檔案 546

16.4FTP伺服器檔案操作 553

16.4.1從FTP伺服器下載檔案 553

16.4.2獲取FTP伺服器端檔案的大小 556

16.4.3向FTP伺服器上傳檔案 559

16.4.4刪除FTP伺服器端檔案 561

16.4.5重新命名FTP伺服器端檔案 563

16.5通過FTPCommand函式傳送FTP命令 565

16.5.1FTP控制連線和數據連線 566

16.5.2常用FTP命令 567

16.5.3使用FTPCommand函式傳送FTP命令 570

16.6構築FTP客戶端套用系統 574

16.6.1創建PBFTP用戶對象 575

16.6.2創建客戶端檔案和目錄操作用戶對象 588

16.6.3構建FTP客戶端套用系統 593

第6篇Winsock網路套用開發篇

第17章Winsock網路套用基礎 616

17.1WindowsSockets概述 616

17.1.1WindowsSockets基本概念 616

17.1.2Winsock在OSI模型中的地位 617

17.1.3Winsock傳輸數據類型 618

17.1.4Winsock的接口函式 619

17.1.5Winsock工作流程 623

17.2啟動Winsock服務 625

17.2.1Winsock服務啟動和終止 625

17.2.2處理Winsock錯誤 629

17.3主機名稱與IP位址 632

17.3.1IP位址概述 632

17.3.2IP位址IPv4與Ulong格式的相互轉換 634

17.3.3獲取本地主機名稱 636

17.3.4獲取主機IP位址 637

17.3.5網路順序和主機順序數值位相互轉換 641

17.4通過Socket連線到遠程主機 647

17.4.1創建或關閉Socket 647

17.4.2通過Socket連線到遠程主機 649

17.4.3與遠程主機建立連線示例 650

17.4.4綁定(Binding)Socket 654

17.4.5接收數據 654

17.4.6傳送數據 658

17.4.7偵聽和接收連線請求 662

第18章Winsock網路套用開發 665

18.1創建Winsock用戶對象 665

18.1.1聲明用戶對象結構、外部函式和常量 665

18.1.2用戶對象的事件處理程式 668

18.1.3創建用戶對象函式 669

18.2通過Winsock實現FTP功能 682

18.2.1通過Winsock實現FTP功能的基本思路 682

18.2.2創建基於Winsock的FTP用戶對象 684

18.2.3創建WinsockFTP套用 701

18.3通過Winsock傳送電子郵件 724

18.3.1傳送郵件的基本思路 724

18.3.2創建基於Winsock的SMTP用戶對象 726

18.3.3創建WinsockSMTP套用 734

18.4使用WinsockAPI實現點對點通信 736

18.4.1客戶端程式 736

18.4.2伺服器端程式 739

第19章Winsock控制項及網路套用開發 743

19.1Winsock控制項的屬性、事件和方法 743

19.1.1Winsock控制項的屬性 743

19.1.2Winsock控制項的方法 745

19.1.3Winsock控制項的事件 746

19.2使用Winsock控制項創建簡單的網路套用 749

19.2.1創建簡單的TCP網路套用 749

19.2.2創建簡單的UDP網路套用 753

19.3使用Winsock控制項實現與遠程時間伺服器時間同步 756

19.3.1與時間伺服器時間同步的基本原理 757

19.3.2與時間伺服器時間同步套用示例 758

附錄A函式索引 763

附錄B結構索引 766

附錄C示例索引 768

相關詞條

熱門詞條

聯絡我們