易截截图软件、单文件、免安装、纯绿色、仅160KB

用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');
隐藏/显


相关文档:

html input中 button和submit的区别

type=button      就单纯是按钮功能   
type=submit      是发送表单
但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:
使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit统一.
用button后往往 ......

zk中html页面窗口化输出

getQuickStart(){QuickStartWindow window = new QuickStartWindow();
  window.setParent(this);
  window.doPopup();}窗口初始化调用
QuickStartWindow.java
 public QuickStartWindow() {
  this.setMaximizable(true);
  this.setMaximized(true);
  th ......

html 表格


  1、用表格做流动分割线
  我们知道,在网页中可以用<hr>标识来做分割线,也可以把表格设置为1个象素高或宽充当分割线。现在,我们将表格与Javascript结合,可以做出更生动的分割线——流动的分割线。加入以下代码,你就可以看到一条分割线,颜色在不断的流动。
<script>
l=Array(6,7,8,9, ......

一段html代码引发的页面重复请求问题

<meta http-equiv="Refresh" content="0; url=">

这个页面本来是说每隔0秒刷新一下页面,并跳转到url所指定的页面去,其实就相当于页面跳转。但是实际是由于url为空,这样就不停的请求这张页面,导致页面狂刷。在大型应用中尤其注意这点。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号