`

触摸屏应用相关技术之三——定制的浏览器

    博客分类:
  • VC++
阅读更多

触摸屏应用相关技术之三——定制的浏览器
以下文章详细介绍了如何对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);//启动重试定时器

0
0
分享到:
评论

相关推荐

    js框架之图片浏览器

    本文主要关注的是使用JavaScript框架实现的一个特定功能——图片浏览器。"图片浏览器"通常指的是一个用户友好的组件,允许用户在网页上浏览多张图片,类似于我们在桌面操作系统中使用的图片查看器。在这里,我们提到...

    win8浏览器 非常酷的界面

    标题中的“win8浏览器 非常酷的界面”指的是Windows 8操作系统中内置的浏览器——Internet Explorer 10(IE10)或后来的Microsoft Edge。这些浏览器在Windows 8上引入了一种全新的现代风格界面,旨在提供更加流畅、...

    html5响应式触摸音频播放插件——AUDIOPLAYER

    2. **触摸友好**:优化了触摸事件处理,使得在触屏设备上播放、暂停、前进、后退等操作更加流畅。 3. **自定义皮肤**:允许开发者通过CSS样式定制播放器的外观,轻松融入网站的整体设计风格。 4. **播放列表支持**...

    网页模板——jQuery touchSlider图片滚动插件触屏手机全屏图片轮播特效代码.zip

    7. **兼容性**:考虑到不同浏览器对触摸事件和CSS3特性的支持程度不同,touchSlider可能包含了一些polyfill或fallback方案,以确保在各种环境下都能正常工作。 8. **代码结构**:在压缩包中的文件,可能包括HTML...

    要出发触屏版手机wap用户登陆网站模板.zip

    "wap"再次确认了它与移动网络的关联,"企业网站"明确了目标用户群体,而"自适应"和"触摸屏"则强调了模板的核心设计原则和技术特性。 在【压缩包子文件的文件名称列表】中,虽然只有一个文件名"要出发触屏版手机wap...

    网页模板——基于html5实现的手机端网页电子书翻页特效源码.zip

    网页模板——基于HTML5实现的手机端网页电子书翻页特效源码,是现代Web开发中一种创新的设计技术,主要用于提升用户体验,特别是对于移动设备上的阅读应用。HTML5作为下一代网页标准,提供了丰富的功能和API,使得...

    jQuery适合移动设备触摸屏的响应式幻灯片插件

    本篇文章将详细探讨"jQuery适合移动设备触摸屏的响应式幻灯片插件"——Flickity。 Flickity(http://flickity.metafizzy.co/)是一款高度定制化且适应性强的jQuery幻灯片插件,它专为触摸屏设备设计,确保在移动...

    黑莓9530软件希望下载哦

    "operette-hifi_om5china-zh-fw47"这部分可能指的是一个名为"Operette HiFi"的音乐或音频相关的应用,它可能是为中国市场定制的,带有"OM5China"的标识,并且是针对固件版本FW47(可能表示固件版本4.7)优化的中文...

    安卓Android源码——libgdx-0.9.6.zip

    - **输入系统**:处理来自键盘、鼠标、触摸屏等多种设备的输入事件。 - **物理引擎**:集成Box2D物理引擎,用于创建真实的物理模拟效果。 - **网络通信**:支持网络通信,可用于多人在线游戏的实现。 - **资源管理**...

    安卓Android源码——PopupWindow模仿UC底部Menu.zip

    这个压缩包“安卓Android源码——PopupWindow模仿UC底部Menu.zip”显然包含了一个示例项目,展示了如何使用`PopupWindow`来实现类似UC浏览器底部菜单的效果。现在我们将详细讲解`PopupWindow`以及如何通过源码来实现...

    dz/discuz手机版西瓜触屏版模板仿版源码20170723版本

    《DZ Discuz 手机版西瓜触屏版模板源码解析及应用》 Discuz! 是一款广泛应用的开源社区论坛软件,以其强大的功能和高度的可定制性深受广大站长喜爱。本文将针对"dz/discuz手机版西瓜触屏版模板仿版源码20170723版本...

    D1-H_Tina_Linux_图形系统_开发指南1

    总的来说,D1-H Tina Linux的图形系统为开发者提供了强大的工具,无论是简单的触摸屏应用还是复杂的多媒体界面,都可以通过MiniGUI和EFL得到实现。理解并熟练掌握这两种图形库的配置、使用和优化,是提升D1-H Tina ...

    html5响应式触摸音频播放插件——AUDIOPLAYER.JS.zip

    这个插件基于jQuery和CSS3技术,提供了一系列高级功能和优雅的视觉效果,使得在网页上集成音频播放变得更加简单且吸引人。下面将详细阐述这个插件的关键知识点。 1. **HTML5 Audio元素**: HTML5引入了`<audio>`...

    手机的几种常用操作系统.pdf

    4. **Web应用程序**:iPhone支持通过Safari浏览器运行Web应用程序,使用AJAX技术。此外,越狱后的iPhone可通过Installer或Cydia安装第三方软件,但这些软件可能因系统更新而受损。 5. **优点与缺点**:iOS以其独特...

    ASP网站CMS程序源码——WapEQ WAP建站系统实例开发.rar

    ASP网站内容管理系统(CMS)是用于构建和管理网站的强大工具,尤其在移动互联网时代,WAP(无线应用协议)建站系统变得尤为重要。WapEQ WAP建站系统是一款基于ASP语言开发的CMS,适用于创建和维护面向移动设备的网站...

    android 2.3 Browser 源码 0分下载

    Android 2.3,也被称为Gingerbread,是Android操作系统的一个早期版本,它引入了许多改进和新特性。在这个版本中,浏览器是用户界面的...如果你对Android开发或者移动浏览器技术感兴趣,这是一个值得深入研究的领域。

    基于Android平台和Wi-Fi的无线点菜系统设计.docx

    点菜终端服务模块提供开台、点菜和系统设置等功能,服务员可以通过触摸屏设备操作。开台模块允许服务员快速为顾客分配座位,点菜模块则提供了直观的菜单浏览和选择功能,支持按类别点菜或搜索菜品。点菜信息实时发送...

Global site tag (gtag.js) - Google Analytics