當(dāng)前位置:首頁 > 觸控技術(shù) > 觸摸屏論文
觸摸屏論文

觸摸屏瀏覽器的實(shí)現(xiàn)原理以及實(shí)際應(yīng)用示例

基于Delphi觸摸屏瀏覽器的開發(fā)及應(yīng)用
張耀軍,吳桂玲
(信陽農(nóng)業(yè)高等??茖W(xué)校計(jì)算機(jī)科學(xué)系,河南信陽464000)

摘要:觸摸屏一體機(jī)作為一種新型的電腦輸入設(shè)備,是目前最簡(jiǎn)單、方便、自然的一種人機(jī)交互方式。本文主要介紹觸摸屏瀏覽器的實(shí)現(xiàn)原理以及實(shí)際應(yīng)用示例。

關(guān)鍵詞:觸摸屏;軟鍵盤;瀏覽器

中圖分類號(hào):TP393.09 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1008-4916(2009)03-0122-02

1觸摸屏的基本原理

    用手指或其它物體觸摸安裝在顯示器前端的觸控屏?xí)r,所觸摸的位置(以坐標(biāo)形式)由觸摸屏控制器檢測(cè),并通過接口(如RS一232串行口或USB口)送到CPU,從而確定輸入的信息。觸摸屏系統(tǒng)包括觸摸屏控制器(卡)和觸摸檢測(cè)裝置兩個(gè)部分。.其中,觸控屏控制器(卡)的主要作用是從觸摸點(diǎn)檢測(cè)裝置上接收的觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給CPU,它同時(shí)能接收CPU發(fā)來的命令并加以執(zhí)行。觸摸檢測(cè)裝置一般安裝在顯示器的前端,主要作用是檢測(cè)用戶的觸摸位置,并傳送給觸控屏控制卡,由觸控屏控制卡向電腦發(fā)送指令以實(shí)現(xiàn)用戶操作結(jié)果。

2 軟件功能的實(shí)現(xiàn)

    根據(jù)觸摸屏的特點(diǎn),我們充分利用觸摸屏一體機(jī),開發(fā)和研制觸摸查詢系統(tǒng),為建立綜合型的多功能智能化、網(wǎng)絡(luò)化的信息服務(wù)工作體系提供一種理想化的人機(jī)交互界面,使各種內(nèi)容的查詢工作都可在觸摸屏上得到實(shí)現(xiàn)。系統(tǒng)采用Delphi開發(fā),與觸摸屏一體機(jī)無縫結(jié)合,它基于IE內(nèi)核,具備觸摸屏一體機(jī)應(yīng)用所需要的各種實(shí)用功能。用戶可通過本系統(tǒng)的虛擬鍵盤輸入數(shù)字、英文、漢字以及一些特殊字符實(shí)現(xiàn)查詢功能,大大提高了觸摸屏軟件的易用性。用戶只須用手指輕點(diǎn)觸摸屏上的相關(guān)內(nèi)容,就可以立即查看到自己所需的資料。

2.1瀏覽界面的實(shí)現(xiàn)

    該系統(tǒng)選擇Delphi作為開發(fā)工具,純綠色軟件不需安裝就可實(shí)現(xiàn)所有功能。它使用IE內(nèi)核(需要裝有IE5或更高版本),是一個(gè)功能強(qiáng)大的多窗口瀏覽器。該軟件具有非常友善的用戶界面,包括帶標(biāo)簽的多文檔窗口、可隱藏的導(dǎo)航欄及可定制的工具條等。

    網(wǎng)頁瀏覽功能采用Delphi自帶的TwebBrowser控件,它是一個(gè)網(wǎng)頁瀏覽控件,可以輯它的源文件來控制它的顯示方式和顯示內(nèi)容,以達(dá)到瀏覽網(wǎng)頁的效果。WebBmwserl.Navigate“網(wǎng)頁地址”可以打開網(wǎng)頁,軟件事先設(shè)定了2個(gè)主頁按鈕,用戶可以點(diǎn)擊導(dǎo)航欄里的相關(guān)按鈕瀏覽指定的網(wǎng)頁內(nèi)容。為了方便用戶瀏覽自定義的網(wǎng)站,軟件還增加了用戶自行輸人網(wǎng)址瀏覽功能。本軟件支持多窗口瀏覽,也就是說可以在軟件里同時(shí)打開多個(gè)Web頁面,該功能主要使用Delphi的TpageControl及Tl'abSheet控件。PageControl可以建立多個(gè)TabSheet,通過控制Page-Control的ActivePagelndex來控制要顯示的Tabsheet,
而每個(gè)要顯示的WebBrowser頁面都是內(nèi)嵌于一個(gè)TabSheet中。所以在軟件中,每當(dāng)用戶點(diǎn)擊一個(gè)網(wǎng)頁鏈接彈出一個(gè)新網(wǎng)頁的時(shí)候,一個(gè)新的Page頁就會(huì)被激發(fā),在軟件中新建一個(gè)NewPage的Procedure用以實(shí)現(xiàn)此功能。

PROCEDURE
TDownloadIEInterface.NewPage;
VAR
WebFrame:TFrameWebBrowser;
TabSheet:TrabSheet;
BEGIN
TabSheet:=
TrabSheet.Cre.a(chǎn)te(nn);
Tab,Sheet.PageControl:=
Self.FPageControl;
Self.FTabSheetList.Add(TabSheet);
tabsheet.Highlighted:=true;
WebFrame:=
TFrameWebBrowser.Create(nil);
WebFrame.Parent:=
Self.FPageContr01.Pages[Self.FPageContr01.PageCount一
1];
WebFrame.WebAction.Tag:=
TabSheet.Handle;
WebFrame.WebAction.Navigate(M)out:blank");
Self.FFrameList.Add(WebFrame);
END;

    由于多頁面瀏覽的緣故,軟件運(yùn)行時(shí)偶爾會(huì)出現(xiàn)未知的異常錯(cuò)誤(非法內(nèi)存訪問),這種錯(cuò)誤很難跟蹤,因?yàn)樵谡{(diào)試時(shí)一切正常。可以采用下列方法處理:(1)將WebBrowser的所有事件響應(yīng)代碼加上Try⋯Except;(2)給Application.OnException添加了一個(gè)異常處理方法,在異常次數(shù)超過指定的次數(shù)時(shí)將程序退出⋯。

2.2軟鍵盤的開發(fā)

    由于觸摸屏不帶鍵盤、鼠標(biāo),用戶只能靠手指點(diǎn)擊實(shí)現(xiàn)所有功能,所以必須開發(fā)一種屏幕上顯示的軟鍵盤來滿足用戶輸入文字的需要,軟鍵盤的開發(fā)是本軟件設(shè)計(jì)的關(guān)鍵。

    軟件主界面上加入一個(gè)Panel控件,在該控件上加入若干個(gè)Button按鈕,每個(gè)按鈕代表電腦鍵盤上的一個(gè)按鍵,同時(shí)對(duì)應(yīng)一個(gè)Keybd—Event事件。Keybd—Event是系統(tǒng)自帶的WindowsAPI函數(shù),該函數(shù)合成一次擊鍵事件,系統(tǒng)可使用這種合成的擊鍵事件來產(chǎn)生WM—KEYUP或WM—KEYDOWN消息,用此函數(shù)可以模擬電腦鍵盤輸入功能。

    當(dāng)程序啟動(dòng)后,該軟鍵盤就停靠在導(dǎo)航欄上,用戶可以點(diǎn)擊軟鍵盤上的按鈕實(shí)現(xiàn)字母、數(shù)字輸入功能。那么如何輸入漢字呢?實(shí)際上在實(shí)現(xiàn)的時(shí)候和我們平時(shí)用鍵盤輸入文字道理是一樣的,就是要調(diào)用漢字輸入法。

    在軟件的設(shè)計(jì)中,注意代碼的規(guī)范及順序,靈活的調(diào)用系統(tǒng)WindowsAPI函數(shù),就可以設(shè)計(jì)出完備的多功能軟鍵盤。

2.3可靠性及安全性設(shè)計(jì)

    由于觸摸屏通常放置在公共場(chǎng)合,軟件設(shè)計(jì)時(shí)必須要考慮運(yùn)行的可靠性和安全性。首先軟件在運(yùn)行時(shí)要始終處于全屏狀態(tài),并有效的防止用戶退出軟件破壞操作系統(tǒng)。在軟件中可以把主form窗體的若干屬性設(shè)置如下:

BorderStyle:=bsNone;
Height:=$creen.height;
Width:=screen.width:
Position:2 poScreenCenter;
FormStyle:=fsStayOnTop;

    軟件運(yùn)行后將自動(dòng)隱藏桌面圖標(biāo)、狀態(tài)欄并全屏顯示。同時(shí)屏蔽Ctd+Ah+Del、Ah+F4、Win,Ctrl+Ese、燦t+Tab、鼠標(biāo)右鍵等,防止未授權(quán)用戶通過各種方式退出瀏覽器進(jìn)入操作系統(tǒng)并破壞系統(tǒng)文件。管理員可以通過密碼實(shí)現(xiàn)關(guān)閉計(jì)算機(jī)、重起計(jì)算機(jī)、注銷系統(tǒng)、返回到桌面等功能拉J。

3 實(shí)際應(yīng)用

    本觸摸屏瀏覽器軟件最初是為信陽農(nóng)專圖書館檢索大廳觸摸屏一體機(jī)定制的,使讀者能夠方便的查詢館藏信息。自開發(fā)以來功能不斷完善,已由最初開發(fā)的1.0版發(fā)展到現(xiàn)在的6.0版,軟件命名為“楚信觸摸屏瀏覽器”,目前已被華軍軟件園、天空軟件站等眾多主流軟件網(wǎng)站收錄,擁有幾十家注冊(cè)用戶。

    2009年2月又被第24屆世界大學(xué)生運(yùn)動(dòng)會(huì)組委會(huì)采購,根據(jù)組委會(huì)的要求,軟件進(jìn)行了界面修改和代碼優(yōu)化。該軟件在冰城哈爾濱的所有運(yùn)動(dòng)場(chǎng)館的118臺(tái)觸摸屏上運(yùn)行穩(wěn)定,為在我國(guó)舉辦的首屆世界大學(xué)生運(yùn)動(dòng)會(huì)做出了貢獻(xiàn)。相信隨著觸摸屏一體機(jī)的普及,本軟件將在更多行業(yè)中得到廣泛應(yīng)用。

參考文獻(xiàn):
[1]李維.Delphi 7高效數(shù)據(jù)庫程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社。2003.
[2]王君學(xué),牛麗莉.圖書館多媒體觸摸屏導(dǎo)讀系統(tǒng)的設(shè)計(jì)與開發(fā)[J].圖書館學(xué)研究,2000(2):53—56.


相關(guān)文章
精彩評(píng)論:
0  相關(guān)評(píng)論