基于Delphi触摸屏浏览器的开发及应用
张耀军,吴桂玲
(信阳农业高等专科学校计算机科学系,河南信阳464000)
摘要:触摸屏一体机作为一种新型的电脑输入设备,是目前最简单、方便、自然的一种人机交互方式。本文主要介绍触摸屏浏览器的实现原理以及实际应用示例。
关键词:触摸屏;软键盘;浏览器
中图分类号:TP393.09 文献标识码:A 文章编号:1008-4916(2009)03-0122-02
1触摸屏的基本原理
用手指或其它物体触摸安装在显示器前端的触控屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口(如RS一232串行口或USB口)送到CPU,从而确定输入的信息。触摸屏系统包括触摸屏控制器(卡)和触摸检测装置两个部分。.其中,触控屏控制器(卡)的主要作用是从触摸点检测装置上接收的触摸信息,并将它转换成触点坐标,再送给CPU,它同时能接收CPU发来的命令并加以执行。触摸检测装置一般安装在显示器的前端,主要作用是检测用户的触摸位置,并传送给触控屏控制卡,由触控屏控制卡向电脑发送指令以实现用户操作结果。
2 软件功能的实现
根据触摸屏的特点,平博·(pinnacle)体育平台官方网站充分利用触摸屏一体机,开发和研制触摸查询系统,为建立综合型的多功能智能化、网络化的信息服务工作体系提供一种理想化的人机交互界面,使各种内容的查询工作都可在触摸屏上得到实现。系统采用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消息,用此函数可以模拟电脑键盘输入功能。
当程序启动后,该软键盘就停靠在导航栏上,用户可以点击软键盘上的按钮实现字母、数字输入功能。那么如何输入汉字呢?实际上在实现的时候和平博·(pinnacle)体育平台官方网站平时用键盘输入文字道理是一样的,就是要调用汉字输入法。
在软件的设计中,注意代码的规范及顺序,灵活的调用系统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.