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

触摸屏应用相关技术之三——定制的浏览器
以下文章详细介绍了如何对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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动控制节水灌溉技术的高低代表着农业现代化的发展状况,灌溉系统自动化水平较低是制约我国高效农业发展的主要原因。本文就此问题研究了单片机控制的滴灌节水灌溉系统,该系统可对不同土壤的湿度进行监控,并按照作物对土壤湿度的要求进行适时、适量灌水,其核心是单片机和PC机构成的控制部分,主要对土壤湿度与灌水量之间的关系、灌溉控制技术及设备系统的硬件、软件编程各个部分进行了深入的研究。 单片机控制部分采用上下位机的形式。下位机硬件部分选用AT89C51单片机为核心,主要由土壤湿度传感器,信号处理电路,显示电路,输出控制电路,故障报警电路等组成,软件选用汇编语言编程。上位机选用586型以上PC机,通过MAX232芯片实现同下位机的电平转换功能,上下位机之间通过串行通信方式进行数据的双向传输,软件选用VB高级编程语言以建立友好的人机界面。系统主要具有以下功能:可在PC机提供的人机对话界面上设置作物要求的土壤湿度相关参数;单片机可将土壤湿度传感器检测到的土壤湿度模拟量转换成数字量,显示于LED显示器上,同时单片机可采用串行通信方式将此湿度值传输到PC机上;PC机通过其内设程序计算出所需的灌水量和灌水时间,且显示于界面上,并将有关的灌水信息反馈给单片机,若需灌水,则单片机系统启动鸣音报警,发出灌水信号,并经放大驱动设备,开启电磁阀进行倒计时定时灌水,若不需灌水,即PC机上显示的灌水量和灌水时间均为0,系统不进行灌水。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值