基于Delphi觸摸屏瀏覽器的開發及應用
張耀軍,吳桂玲
(信陽農業高等專科學校計算機科學系,河南信陽464000)
摘要:觸摸屏一體機作為一種新型的電腦輸入設備,是目前最簡單、方便、自然的一種人機交互方式。本文主要介紹觸摸屏瀏覽器的實現原理以及實際應用示例。
關鍵詞:觸摸屏;軟鍵盤;瀏覽器
中圖分類號:TP393.09 文獻標識碼:A 文章編號:1008-4916(2009)03-0122-02
1觸摸屏的基本原理
用手指或其它物體觸摸安裝在顯示器前端的觸控屏時,所觸摸的位置(以坐標形式)由觸摸屏控制器檢測,并通過接口(如RS一232串行口或USB口)送到CPU,從而確定輸入的信息。觸摸屏系統包括觸摸屏控制器(卡)和觸摸檢測裝置兩個部分。.其中,觸控屏控制器(卡)的主要作用是從觸摸點檢測裝置上接收的觸摸信息,并將它轉換成觸點坐標,再送給CPU,它同時能接收CPU發來的命令并加以執行。觸摸檢測裝置一般安裝在顯示器的前端,主要作用是檢測用戶的觸摸位置,并傳送給觸控屏控制卡,由觸控屏控制卡向電腦發送指令以實現用戶操作結果。
2 軟件功能的實現
根據觸摸屏的特點,我們充分利用觸摸屏一體機,開發和研制觸摸查詢系統,為建立綜合型的多功能智能化、網絡化的信息服務工作體系提供一種理想化的人機交互界面,使各種內容的查詢工作都可在觸摸屏上得到實現。系統采用Delphi開發,與觸摸屏一體機無縫結合,它基于IE內核,具備觸摸屏一體機應用所需要的各種實用功能。用戶可通過本系統的虛擬鍵盤輸入數字、英文、漢字以及一些特殊字符實現查詢功能,大大提高了觸摸屏軟件的易用性。用戶只須用手指輕點觸摸屏上的相關內容,就可以立即查看到自己所需的資料。
2.1瀏覽界面的實現
該系統選擇Delphi作為開發工具,純綠色軟件不需安裝就可實現所有功能。它使用IE內核(需要裝有IE5或更高版本),是一個功能強大的多窗口瀏覽器。該軟件具有非常友善的用戶界面,包括帶標簽的多文檔窗口、可隱藏的導航欄及可定制的工具條等。
網頁瀏覽功能采用Delphi自帶的TwebBrowser控件,它是一個網頁瀏覽控件,可以輯它的源文件來控制它的顯示方式和顯示內容,以達到瀏覽網頁的效果。WebBmwserl.Navigate“網頁地址”可以打開網頁,軟件事先設定了2個主頁按鈕,用戶可以點擊導航欄里的相關按鈕瀏覽指定的網頁內容。為了方便用戶瀏覽自定義的網站,軟件還增加了用戶自行輸人網址瀏覽功能。本軟件支持多窗口瀏覽,也就是說可以在軟件里同時打開多個Web頁面,該功能主要使用Delphi的TpageControl及Tl'abSheet控件。PageControl可以建立多個TabSheet,通過控制Page-Control的ActivePagelndex來控制要顯示的Tabsheet,
而每個要顯示的WebBrowser頁面都是內嵌于一個TabSheet中。所以在軟件中,每當用戶點擊一個網頁鏈接彈出一個新網頁的時候,一個新的Page頁就會被激發,在軟件中新建一個NewPage的Procedure用以實現此功能。
PROCEDURE
TDownloadIEInterface.NewPage;
VAR
WebFrame:TFrameWebBrowser;
TabSheet:TrabSheet;
BEGIN
TabSheet:=
TrabSheet.Cre.ate(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;
由于多頁面瀏覽的緣故,軟件運行時偶爾會出現未知的異常錯誤(非法內存訪問),這種錯誤很難跟蹤,因為在調試時一切正常。可以采用下列方法處理:(1)將WebBrowser的所有事件響應代碼加上Try⋯Except;(2)給Application.OnException添加了一個異常處理方法,在異常次數超過指定的次數時將程序退出⋯。
2.2軟鍵盤的開發
由于觸摸屏不帶鍵盤、鼠標,用戶只能靠手指點擊實現所有功能,所以必須開發一種屏幕上顯示的軟鍵盤來滿足用戶輸入文字的需要,軟鍵盤的開發是本軟件設計的關鍵。
軟件主界面上加入一個Panel控件,在該控件上加入若干個Button按鈕,每個按鈕代表電腦鍵盤上的一個按鍵,同時對應一個Keybd—Event事件。Keybd—Event是系統自帶的WindowsAPI函數,該函數合成一次擊鍵事件,系統可使用這種合成的擊鍵事件來產生WM—KEYUP或WM—KEYDOWN消息,用此函數可以模擬電腦鍵盤輸入功能。
當程序啟動后,該軟鍵盤就停靠在導航欄上,用戶可以點擊軟鍵盤上的按鈕實現字母、數字輸入功能。那么如何輸入漢字呢?實際上在實現的時候和我們平時用鍵盤輸入文字道理是一樣的,就是要調用漢字輸入法。
在軟件的設計中,注意代碼的規范及順序,靈活的調用系統WindowsAPI函數,就可以設計出完備的多功能軟鍵盤。
2.3可靠性及安全性設計
由于觸摸屏通常放置在公共場合,軟件設計時必須要考慮運行的可靠性和安全性。首先軟件在運行時要始終處于全屏狀態,并有效的防止用戶退出軟件破壞操作系統。在軟件中可以把主form窗體的若干屬性設置如下:
BorderStyle:=bsNone;
Height:=$creen.height;
Width:=screen.width:
Position:2 poScreenCenter;
FormStyle:=fsStayOnTop;
軟件運行后將自動隱藏桌面圖標、狀態欄并全屏顯示。同時屏蔽Ctd+Ah+Del、Ah+F4、Win,Ctrl+Ese、燦t+Tab、鼠標右鍵等,防止未授權用戶通過各種方式退出瀏覽器進入操作系統并破壞系統文件。管理員可以通過密碼實現關閉計算機、重起計算機、注銷系統、返回到桌面等功能拉J。
3 實際應用
本觸摸屏瀏覽器軟件最初是為信陽農專圖書館檢索大廳觸摸屏一體機定制的,使讀者能夠方便的查詢館藏信息。自開發以來功能不斷完善,已由最初開發的1.0版發展到現在的6.0版,軟件命名為“楚信觸摸屏瀏覽器”,目前已被華軍軟件園、天空軟件站等眾多主流軟件網站收錄,擁有幾十家注冊用戶。
2009年2月又被第24屆世界大學生運動會組委會采購,根據組委會的要求,軟件進行了界面修改和代碼優化。該軟件在冰城哈爾濱的所有運動場館的118臺觸摸屏上運行穩定,為在我國舉辦的首屆世界大學生運動會做出了貢獻。相信隨著觸摸屏一體機的普及,本軟件將在更多行業中得到廣泛應用。
參考文獻:
[1]李維.Delphi 7高效數據庫程序設計[M].北京:機械工業出版社。2003.
[2]王君學,牛麗莉.圖書館多媒體觸摸屏導讀系統的設計與開發[J].圖書館學研究,2000(2):53—56.