

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第1章Windows系統(tǒng)的消息機制對諸如PowerBuilder(后文簡寫為PB)、VisualBasic和Dephi等大多數(shù)可視化程序設(shè)計語言來講,程序設(shè)計的核心是對象的事件、屬性和方法,但對Windows系統(tǒng)本身而言,卻是以消息處理為其控制機制。Windows把系統(tǒng)中的對象都作為窗口來對待,每個窗口都有一個用來標(biāo)識其身份的句柄。Windows通過向窗口發(fā)送消息,在開發(fā)語言中轉(zhuǎn)化為對象的事件,然后驅(qū)動對象,響應(yīng)用戶的動作。在許多面向?qū)?/p>
2、象的可視化程序設(shè)計語言中,Windows的眾多消息已經(jīng)演變成了對象的屬性或方法。本章內(nèi)容包括Windows系統(tǒng)的消息機制、消息的發(fā)送、消息的應(yīng)用實例等。1.1Windows的工作機制1.1.1Windows的工作方式——窗口、事件和消息全面地討論Windows的內(nèi)部工作機制需要很大的篇幅,對于一般的PB用戶當(dāng)然沒有必要深入了解所有的技術(shù)細節(jié)。Windows系統(tǒng)的工作機制,簡單地說就是3個關(guān)鍵的概念:窗口、事件和消息。不妨簡單地將窗口看做
3、帶有邊界的矩形區(qū)域。讀者也許已經(jīng)了解多種不同類型的窗口,如Windows系統(tǒng)的“資源管理器”窗口、文字處理程序中的文檔窗口或者彈出提示有約會信息的消息對話框窗口等。除了這些最普通的窗口外,實際上還有許多其他類型的窗口。命令按鈕是一個窗口,圖標(biāo)、文本框、選項按鈕和菜單條也都是窗口。Windows操作系統(tǒng)通過給每一個窗口指定一個惟一的標(biāo)識號(窗口句柄,常用hWnd表示)來管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個窗口的活動或事件的信號。事件可
4、以通過諸如單擊鼠標(biāo)或按下按鍵的操作而產(chǎn)生,也可以通過程序的控制而產(chǎn)生,甚至可以由另一個窗口的操作而產(chǎn)生。每發(fā)生一次事件,將引發(fā)一條消息發(fā)送至操作系統(tǒng)。操作系統(tǒng)處理該消息并廣播給其他窗口。然后,每一個窗口才能根據(jù)自身處理該條消息的指令而采取適當(dāng)?shù)牟僮鳎ɡ?,?dāng)窗口解除了其他窗口的覆蓋時,重新繪制自身窗口)??梢韵胂螅幚砀鞣N窗口、事件和消息的所有可能的組合將有驚人的工作量。幸運的是,PB使用戶擺脫了所有的低層消息處理。許多消息由PB自動處
5、理了,其他的作為事件過程由編程者自行處理,這樣可以快速創(chuàng)建強大的應(yīng)用程序,而毋需涉及不必要的細節(jié)。1.1.2句柄的概念在解釋消息之前,首先了解系統(tǒng)如何準(zhǔn)確地將消息發(fā)送到指定的窗口。當(dāng)一個應(yīng)用或多PowerBuilderWin32API程序設(shè)計(高級卷)4(1)窗口句柄(awindowhle):窗口句柄用來標(biāo)識消息將要發(fā)送到的窗口對象,系統(tǒng)使用窗口句柄來確定哪一個窗口句柄應(yīng)該接收該消息。(2)消息標(biāo)識符(amessageidentifie
6、r):消息標(biāo)識符是用來區(qū)分不同消息的命名常量,當(dāng)窗口過程接收到一個消息時,它使用消息標(biāo)識符來確定如何處理該消息。例如,消息標(biāo)識符WM_PAINT告訴窗口過程“窗口的客戶區(qū)已經(jīng)發(fā)生變化,窗口必須進行重新繪制”。(3)消息參數(shù)(messageparameters):消息參數(shù)用來表述窗口過程處理消息時所使用的數(shù)據(jù)或數(shù)據(jù)的位置,通常用一對參數(shù)表示。消息參數(shù)的意義和取值取決于消息。消息參數(shù)取值可以是整型數(shù)、Bit位標(biāo)識、指向結(jié)構(gòu)的指針,等等,當(dāng)不
7、需要使用消息參數(shù)時,通常將其設(shè)置為NULL。窗口過程必須通過檢查消息標(biāo)識符來確定如何對消息參數(shù)進行解釋。有關(guān)消息標(biāo)識符、消息參數(shù)的具體使用,將在后面介紹Sendmessage函數(shù)時給予進一步解釋。1.1.4消息的類型1系統(tǒng)定義的消息系統(tǒng)定義的消息當(dāng)系統(tǒng)與應(yīng)用進行通信時,系統(tǒng)將發(fā)送或郵寄消息。系統(tǒng)通過這些消息控制應(yīng)用的運行,并為應(yīng)用的進程提供輸入或其他信息。應(yīng)用內(nèi)部也可發(fā)送或郵寄系統(tǒng)定義的消息,應(yīng)用通常使用這些消息控制由預(yù)先注冊的窗口類創(chuàng)
8、建的窗口的操作。每一個系統(tǒng)定義的消息都有一個惟一的消息標(biāo)識符(值),并用一個表明消息用途標(biāo)識符常量表示(這些在SDK的頭文件中定義)。如WM_PAINT消息標(biāo)識符表示要求窗口進行重繪的消息。消息標(biāo)識符常量前綴表示消息所屬的消息類別,如WM_表示窗口類消息,BM_表示按鈕類消息,表11給出了不同類別消息的前綴。在PB中,消息標(biāo)識符常量通常聲明為窗口或?qū)ο蟮膶嵗A?,例如:CONSTANTlongWM_MOUSEMOVE=512CONSTA
9、NTlongWM_LBUTTONDOWN=513CONSTANTlongWM_LBUTTONUP=514CONSTANTlongWM_LBUTTONDBLCLK=515CONSTANTlongWM_RBUTTONDOWN=516CONSTANTlongWM_RBUTTONUP=517CONSTANTlongWM_RBUTTONDBLCLK=518表11Windows系統(tǒng)定義的消息類別消息標(biāo)識符前綴消息分類ABM應(yīng)用桌面工具欄消息BM按鈕
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- [it認證]003-004 windows消息機制
- windows消息淺析
- 基于Windows消息機制的VB編程題評分系統(tǒng)的研究與應(yīng)用.pdf
- 基于Windows消息機制的HTTP隱蔽通道的設(shè)計與實現(xiàn).pdf
- 消息推送系統(tǒng)中消息認證機制的研究.pdf
- 面向?qū)ο蟮腤indows消息處理機制研究及其在POS機上的應(yīng)用.pdf
- 移動支付系統(tǒng)消息通信機制的改進.pdf
- 消息中間件消息可靠傳輸機制的實現(xiàn).pdf
- 視頻監(jiān)控系統(tǒng)消息服務(wù)機制的設(shè)計與實現(xiàn).pdf
- 基于消息機制的數(shù)據(jù)自動采集系統(tǒng)開發(fā).pdf
- 基于wcf消息服務(wù)機制的紡機制造企業(yè)erp系統(tǒng)研究
- 即時消息通信系統(tǒng)的安全機制研究與實現(xiàn).pdf
- 基于雙核系統(tǒng)Windows端驅(qū)動機制的研究.pdf
- 基于消息的分布式實時系統(tǒng)的時間記賬機制.pdf
- 基于WINDOWS的安全機制的研究.pdf
- 基于socket技術(shù)的windows mobile設(shè)備間的實時消息工具開發(fā)【開題報告】
- SOAP消息交互安全機制的研究.pdf
- windows系統(tǒng)中的服務(wù)
- 基于消息隊列消息傳輸系統(tǒng)的設(shè)計與研究.pdf
- windows系統(tǒng)清理
評論
0/150
提交評論