2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1章Windows系統(tǒng)的消息機(jī)制對(duì)諸如PowerBuilder(后文簡(jiǎn)寫為PB)、VisualBasic和Dephi等大多數(shù)可視化程序設(shè)計(jì)語言來講,程序設(shè)計(jì)的核心是對(duì)象的事件、屬性和方法,但對(duì)Windows系統(tǒng)本身而言,卻是以消息處理為其控制機(jī)制。Windows把系統(tǒng)中的對(duì)象都作為窗口來對(duì)待,每個(gè)窗口都有一個(gè)用來標(biāo)識(shí)其身份的句柄。Windows通過向窗口發(fā)送消息,在開發(fā)語言中轉(zhuǎn)化為對(duì)象的事件,然后驅(qū)動(dòng)對(duì)象,響應(yīng)用戶的動(dòng)作。在許多面向?qū)?/p>

2、象的可視化程序設(shè)計(jì)語言中,Windows的眾多消息已經(jīng)演變成了對(duì)象的屬性或方法。本章內(nèi)容包括Windows系統(tǒng)的消息機(jī)制、消息的發(fā)送、消息的應(yīng)用實(shí)例等。1.1Windows的工作機(jī)制1.1.1Windows的工作方式——窗口、事件和消息全面地討論Windows的內(nèi)部工作機(jī)制需要很大的篇幅,對(duì)于一般的PB用戶當(dāng)然沒有必要深入了解所有的技術(shù)細(xì)節(jié)。Windows系統(tǒng)的工作機(jī)制,簡(jiǎn)單地說就是3個(gè)關(guān)鍵的概念:窗口、事件和消息。不妨簡(jiǎn)單地將窗口看做

3、帶有邊界的矩形區(qū)域。讀者也許已經(jīng)了解多種不同類型的窗口,如Windows系統(tǒng)的“資源管理器”窗口、文字處理程序中的文檔窗口或者彈出提示有約會(huì)信息的消息對(duì)話框窗口等。除了這些最普通的窗口外,實(shí)際上還有許多其他類型的窗口。命令按鈕是一個(gè)窗口,圖標(biāo)、文本框、選項(xiàng)按鈕和菜單條也都是窗口。Windows操作系統(tǒng)通過給每一個(gè)窗口指定一個(gè)惟一的標(biāo)識(shí)號(hào)(窗口句柄,常用hWnd表示)來管理所有的窗口。操作系統(tǒng)連續(xù)地監(jiān)視每一個(gè)窗口的活動(dòng)或事件的信號(hào)。事件可

4、以通過諸如單擊鼠標(biāo)或按下按鍵的操作而產(chǎn)生,也可以通過程序的控制而產(chǎn)生,甚至可以由另一個(gè)窗口的操作而產(chǎn)生。每發(fā)生一次事件,將引發(fā)一條消息發(fā)送至操作系統(tǒng)。操作系統(tǒng)處理該消息并廣播給其他窗口。然后,每一個(gè)窗口才能根據(jù)自身處理該條消息的指令而采取適當(dāng)?shù)牟僮鳎ɡ?,?dāng)窗口解除了其他窗口的覆蓋時(shí),重新繪制自身窗口)??梢韵胂?,處理各種窗口、事件和消息的所有可能的組合將有驚人的工作量。幸運(yùn)的是,PB使用戶擺脫了所有的低層消息處理。許多消息由PB自動(dòng)處

5、理了,其他的作為事件過程由編程者自行處理,這樣可以快速創(chuàng)建強(qiáng)大的應(yīng)用程序,而毋需涉及不必要的細(xì)節(jié)。1.1.2句柄的概念在解釋消息之前,首先了解系統(tǒng)如何準(zhǔn)確地將消息發(fā)送到指定的窗口。當(dāng)一個(gè)應(yīng)用或多PowerBuilderWin32API程序設(shè)計(jì)(高級(jí)卷)4(1)窗口句柄(awindowhle):窗口句柄用來標(biāo)識(shí)消息將要發(fā)送到的窗口對(duì)象,系統(tǒng)使用窗口句柄來確定哪一個(gè)窗口句柄應(yīng)該接收該消息。(2)消息標(biāo)識(shí)符(amessageidentifie

6、r):消息標(biāo)識(shí)符是用來區(qū)分不同消息的命名常量,當(dāng)窗口過程接收到一個(gè)消息時(shí),它使用消息標(biāo)識(shí)符來確定如何處理該消息。例如,消息標(biāo)識(shí)符WM_PAINT告訴窗口過程“窗口的客戶區(qū)已經(jīng)發(fā)生變化,窗口必須進(jìn)行重新繪制”。(3)消息參數(shù)(messageparameters):消息參數(shù)用來表述窗口過程處理消息時(shí)所使用的數(shù)據(jù)或數(shù)據(jù)的位置,通常用一對(duì)參數(shù)表示。消息參數(shù)的意義和取值取決于消息。消息參數(shù)取值可以是整型數(shù)、Bit位標(biāo)識(shí)、指向結(jié)構(gòu)的指針,等等,當(dāng)不

7、需要使用消息參數(shù)時(shí),通常將其設(shè)置為NULL。窗口過程必須通過檢查消息標(biāo)識(shí)符來確定如何對(duì)消息參數(shù)進(jìn)行解釋。有關(guān)消息標(biāo)識(shí)符、消息參數(shù)的具體使用,將在后面介紹Sendmessage函數(shù)時(shí)給予進(jìn)一步解釋。1.1.4消息的類型1系統(tǒng)定義的消息系統(tǒng)定義的消息當(dāng)系統(tǒng)與應(yīng)用進(jìn)行通信時(shí),系統(tǒng)將發(fā)送或郵寄消息。系統(tǒng)通過這些消息控制應(yīng)用的運(yùn)行,并為應(yīng)用的進(jìn)程提供輸入或其他信息。應(yīng)用內(nèi)部也可發(fā)送或郵寄系統(tǒng)定義的消息,應(yīng)用通常使用這些消息控制由預(yù)先注冊(cè)的窗口類創(chuàng)

8、建的窗口的操作。每一個(gè)系統(tǒng)定義的消息都有一個(gè)惟一的消息標(biāo)識(shí)符(值),并用一個(gè)表明消息用途標(biāo)識(shí)符常量表示(這些在SDK的頭文件中定義)。如WM_PAINT消息標(biāo)識(shí)符表示要求窗口進(jìn)行重繪的消息。消息標(biāo)識(shí)符常量前綴表示消息所屬的消息類別,如WM_表示窗口類消息,BM_表示按鈕類消息,表11給出了不同類別消息的前綴。在PB中,消息標(biāo)識(shí)符常量通常聲明為窗口或?qū)ο蟮膶?shí)例常量,例如:CONSTANTlongWM_MOUSEMOVE=512CONSTA

9、NTlongWM_LBUTTONDOWN=513CONSTANTlongWM_LBUTTONUP=514CONSTANTlongWM_LBUTTONDBLCLK=515CONSTANTlongWM_RBUTTONDOWN=516CONSTANTlongWM_RBUTTONUP=517CONSTANTlongWM_RBUTTONDBLCLK=518表11Windows系統(tǒng)定義的消息類別消息標(biāo)識(shí)符前綴消息分類ABM應(yīng)用桌面工具欄消息BM按鈕

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論