用WebBrowser实现HTML界面的应用(转载)
HTML的界面有以下特点:图文混排,格式灵活,可以包含Flash、声音和视频等,实现图文声像的多媒体界面,而且易于建立和维护。另外,HTML的显示环境一般机器上都具备,通常不需要安装额外的软件。当然,HTML界面也有它欠缺的方面,即:界面控制能力有限,代码调试不便----虽然DHTML提供了比较强的编程特性,但是比起Delphi的传统的开发语言和工具来,对界面的控制能力,尤其是和数据交互时的控制能力还是稍逊一筹。
了解了这些特点,我们就可以在实际应用开发中,适时地选择HTML技术。下面举个例子:
一种仪器的管理程序,需要显示该仪器的操作方法文档,包含文字和图片,并要求可以隐藏或显示文档,并能安要求打印。
这个应用中,图文显示、隐藏/显示部分文档、图文打印等需求,都是HTML界面所擅长的,用传统的表单控件实现几乎无法想像。
用什么实现HTML的界面
用Delphi实现HTML界面的应用主要有两种选择:WebBrowser Control或MSHTML。为了弄清两者如何选择,我们先来看看Internet Exporer 4.0及其后续版本的体系结构:
IE浏览器是建立在SHDOCVW.DLL组件之上的,而SHDOCVW.DLL则建立在MSHTML.DLL组件之上,底层则包括脚本引擎等。SHDOCVW.DLL提供了对活动文档(Active Document)的支持----例如Word等文档可以在IE中显示,并提供导航、in-place*连接、收藏夹、浏览历史和分级内容选择(PICS: Platform for Internet Content Selection)等功能。SHDOCVW.DLL组件虽然也提供了很多接口可以单独使用,但是通常所指的SHDOCVW.DLL就是WebBrowser Control。MSHTML.DLL是实行HTML解析和表现的组件。它通过DHTML对象模型提供对HTML文档的访问。它实现了活动文档服务器接口,可以通过COM接口调用。
不难看出,WebBrowser在比较高的层次上,提供了更为丰富的功能,因此一般通常编程都采用WebBrower控件。MSHTML只有在需要解析HTML这样的特殊应用中,才推荐使用。微软的MSDN网站上提供了一个使用MSHTML的例子:WalkAll Sample Source Page。
(*注:In-place链接,是指点击HTML连接时,在相同的WebBrowser实例中显示连接的HTML文档。如果仅使用MSHTML.DLL,点击链接将导致在新的浏览器实例中打开链接的文档。)
如何访问HTML页面的内容
首先,在Delphi 7.0组件面板的Internet页上,把TWebBrowser组件放到表单上。
通过执行以下语句装载HTML文档到WebBrowser中进行显示:
WebBrowser1.Navigate(GetCurrentDir + '\index.htm');
隐藏/显
相关文档:
特殊JavaScript脚本:
1.禁用(恢复)href超级链接.
2.javascript中调用vbs对话框实现Confirm,可以显示Yes,No,还有各种图标,仅IE下有效.
3.限制上传文件类型为jpg.
4.限制离开当前页面,在离开时提示.仅限制窗口关闭或通过某个href超级链接离开.(页面刷新和地址栏改变时不提示)
demo.html如下:
<html>
&n ......
学习HTML:iframe用法总结收藏
js 2010-01-08 17:00:17 阅读115 评论0 字号:大中小
Html代码 < width="14" height="15" src="http://lzkyo.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" pluginspage="http://www.macromedia.com/go/getflashplayer">
<p><iframe>是框架的一种形式,也比 ......
一般事件 事件 浏览器支持 描述
onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击
onDblClick IE4|N4|O 鼠标双击事件
onMouseDown IE4|N4|O 鼠标上的按钮被按下了
onMouseUp IE4|N4|O 鼠标按下后,松开时激发的事件
onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件
onM ......