基于跨平臺下的嵌入式GUl人機界面系統研究與設計
0 引言
隨著(zhù)硬件條件的提高,移動(dòng)終端的嵌入式系統對輕量級GUI的需求會(huì )越來(lái)越迫切。用戶(hù)界面是指計算機與其使用者之間的對話(huà)接口,它為用戶(hù)提供與應用系統交互的可視化通道,同時(shí)為程序員提供了一種編程模式,即GUI負責系統可視化界面的生成、管理以及系統與用戶(hù)之間的信息交互,而程序員只需專(zhuān)注于對實(shí)際應用的分析。GUI在移動(dòng)終端系統中扮演著(zhù)很重要的角色,它運行在操作系統抽象層(OSAL)之上,為應用程序提供基于消息機制的圖形用戶(hù)界面編程接口。GUI與其他一些應用引擎一起為實(shí)現豐富的移動(dòng)終端應用而提供支持,從而將應用程序的計算部分與界面分離開(kāi)來(lái),這樣就充分保證了根據不同需求快速定制出功能強大、界面豐富的應用程序界面。
GUI是一種以圖形化為基礎的用戶(hù)界面,使用統一的圖形操作系統,如可移動(dòng)的視窗、選項與鼠標,作為用戶(hù)與操作系統之間的中介。G-UI最重要的優(yōu)勢在于使用戶(hù)擺脫了在命令行提示符下與操作系統進(jìn)行交互的方式,用戶(hù)可以?xún)H通過(guò)鼠標點(diǎn)擊來(lái)實(shí)現熟悉程序的操作,而且由于圖表、對話(huà)框等的引入,使得操作直觀(guān)形象。GUI已成為一種用戶(hù)與計算機交互的標準。其內核來(lái)源于Micro Window,是具有圖形用戶(hù)界面支持的開(kāi)源嵌入式系統軟件,具備類(lèi)似WIN32標準的消息循環(huán)和窗口管理機制,提供和WIN32 SDK一樣的API接口。方便跨平臺的開(kāi)發(fā)和移植。主要功能包括窗口管理、消息派發(fā)、控件、輸入法、圖形設備接口(GDI);擴展的功能和服務(wù)包括圖形編解碼、ALARM管理、數據庫、注冊表等。
1 GUI和操作系統的功能架構
GUl對上層(應用程序)提供了基于事件或消息驅動(dòng)的圖形界面處理機制;它依賴(lài)于底層的操作系統,但是不限于某一類(lèi)操作系統。功能架構如圖1所示。
應用程序一般都有自己的消息循環(huán):
其中,GetMessage()得到本先線(xiàn)程的消息。如果沒(méi)有消息則檢查有沒(méi)有窗口需要重繪;如有則直接給相應的窗口發(fā)WM_PAINT消息;如果還沒(méi)有,就會(huì )掛起本線(xiàn)程。TranslateMessage():如果當前的消息是WM_KEYDOWN,則根據鍵值轉換中相應的WM_CHAR消息。DispatchMessage():將消息派發(fā)到指定的窗口。如果這個(gè)消息沒(méi)有指定目標窗口則這個(gè)消息丟掉,因此,對于給線(xiàn)程發(fā)送的消息(未指定窗口),用戶(hù)必須在此截獲并由用戶(hù)自己派發(fā)。
評論