触摸屏应用相关技术之三——定制的浏览器
以下文章详细介绍了如何对CHtmlView进行定制:
http://www.vckbase.com/document/viewdoc/?id=1486
http://support.microsoft.com/kb/236312
通过对CHtmlView的定制,可以解决以下问题。
禁止右键菜单
禁止弹出新IE窗口
禁止页面选中
禁止出现滚动条
禁止脚本错误对话框
禁止3d边框
本文不再赘述,这里着重介绍对于触摸屏应用必须解决的其他问题。
1. 实现主窗口全屏显示
参考了这篇文章:http://www.codeguru.com/forum/archive/index.php/t-363365.html
其主要思路是:
获得屏幕尺寸—〉获得标题栏、菜单栏、工具栏、边框尺寸—〉计算出当窗口客户区正好位于全屏位置时窗口的rect—〉调用MoveWindow将窗口调整至此Rect,从而使客户区充满整个屏幕。
2. 去掉主窗口标题栏
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中
调用:ModifyStyle(WS_CAPTION,0);
3. 去掉边框、系统菜单
在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中
调用:cs.style&= ~(WS_THICKFRAME|WS_MAXIMIZEBOX|WS_MINIMIZEBOX|WS_SYSMENU);
4. 去除主窗口的菜单栏
在切换到全屏状态(void CMainFrame::ToggleView())时调用
SetMenu(NULL);
5. 去除主窗口工具栏、状态栏
找到并注释CMainFrame中所有与“m_wndToolBar”,“m_wndStatusBar”的相关代码
6. 禁止主窗口改变尺寸(页面内容造成长时间100%cpu占用时,可以避免窗口被强制还原)
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中
SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
7. 修改主窗口类名(方面在hook中调用FindWindow检查主窗口是否关闭)
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中
WNDCLASS wndclass;
::GetClassInfo(AfxGetInstanceHandle(),cs.lpszClass,&wndclass);
wndclass.lpszClassName=CUSTOM_CLASSNAME;
VERIFY(AfxRegisterClass(&wndclass));
cs.lpszClass=wndclass.lpszClassName;
8. 访问内存中的页面
一个合格的IE容器不应当直接将404错误直接显示给访客,而应当截获此错误,并提供预先存放在程序内存中的页面,同时启动一个内部的定时器,不断重新尝试对内容的访问,在网络不稳定造成内容无法访问的情况下,这种处理显得更为友好。
CHtmlView提供了对404错误的截获,在
void CJSCallView::OnNavigateError(LPCTSTR lpszURL, LPCTSTR lpszFrame, DWORD dwError, BOOL *pbCancel)中相关处理如下:
LoadFromResource(IDR_HTML1);//调用内存中的页面
AfxGetMainWnd()->SetTimer(TIMER_RETRY,RETRY_SPAN*1000,NULL);//启动重试定时器
分享到:
相关推荐
博文链接:https://chen4w.iteye.com/blog/230193
NULL 博文链接:https://chen4w.iteye.com/blog/230187
触摸屏全屏浏览器触摸屏全屏浏览器触摸屏全屏浏览器
在Internet日益成为最重要的信息资源的背景下,公共触摸信息系统与 Internet接轨成为必然,触摸屏被广泛应用于公共信息的查询,由于普通的浏览器并不适合触摸屏应用的特殊性,而做为B/S架构触摸屏系统以及其开发管理...
触摸屏网页全屏浏览器V1.0 中国WEB技术联盟 核心技术小组组长Grearo代写各类功能小软件,大型软件工程,高中低端网站,系统集成业务。 http://www.webjishu.cn 联系方式: msn:grearo@live.cn Mail:grearo@163.com ...
该浏览器基于IE内核,提供访问本地及远程网页功能,具备触摸屏应用所需要的各种实用特性,提供了丰富的应用程序接口,方便与第三方程序协同工作,并且提供了很多用户定义功能,满足用户的各种实际需求。主要功能有:...
方配触摸屏浏览器是一款免费无功能限制专门针对触摸屏一体机应用而开发设计的触摸屏客户端,提供在触摸屏一体机上访问本地以及远程触摸屏网页的功能,具备触摸屏特殊功能应用所需要的各种实用特性。在Internet日益...
商业应用的触摸屏浏览器,触摸屏浏览器是一个特殊的浏览器,本系统已成熟商业应用,值得参考。
该浏览器基于IE内核,提供访问本地及远程网页功能,具备触摸屏应用所需要的各种实用特性,提供了丰富的应用程序接口,方便与第三方程序协同工作,并且提供了很多用户定义功能,满足用户的各种实际需求。
方配触摸屏浏览器是一款免费无功能限制专门针对触摸屏一体机应用而开发设计的触摸屏客户端,提供在触摸屏一体机上访问本地以及远程触摸屏网页的功能,具备触摸屏特殊功能应用所需要的各种实用特性。在Internet日益...
在Internet日益成为最重要的信息资源的背景下,公共触摸信息系统与 Internet接轨成为必然,触摸屏被广泛应用于公共信息的查询,由于普通的浏览器并不适合触摸屏应用的特殊性,而做为B/S架构触摸屏系统以及其开发管理...
本软件为触摸屏浏览器。可以用于触摸屏装置。实现全屏浏览网页,可在触摸一体机上进行触摸查询。通过配置文件可更改浏览器的一些功能。在触摸一体机上将网站套进浏览器进行全屏展示,感谢网友们的热心提议,现在将...
触摸屏浏览器 易语言 触摸屏浏览器 易语言 触摸屏浏览器 易语言
Toucher4.5触摸屏浏览器、c++写的,完美破解版本很好用。
触摸屏程序用的全屏浏览器 需要装.net来支持运行 按ESC来操作设置
触摸屏浏览器的开发与应用
触摸屏工程应用.pdf,介绍里面PLC及变频器的人机界面,触摸屏的开发与应用。
培训教材讲义 触摸屏典型应用 一.触摸屏简介 随着计算机技术的普及,在20世纪90年代初,出现了一种新的人机交互作用技术-- 触摸屏技术。利用这种技术使用者只要用手指轻轻地碰计算机显示屏上的图符或文字就 能实现对...