让嵌入窗体的 WebBrowser 控件无边框

前一段时间修改了一个程序,将程序的主界面用网页来设计,效果非常好,用 HTML+CSS 可以实现更加丰富的界面效果,比直接用 Delphi 来得容易。实现的方法很简单,在窗体添加一个 WebBrowser 组件,然后执行以下代码:

WebBrowser1.Navigate('D:\Soft\HomePage.html');

但随之而来出现了一个问题:WebBrowser 组件在未载入 HTML 之前是无边框的,当载入 HTML 之后,WebBrowser 四周出现了一个三维边框,和程序本身的风格极不协调,查看了 WebBrowser 的所有属性,没有属性可以改变这一设置。

经过测试以后发现,该边框并不是 WebBrowser 产生的,而是 WebBrowser 中载入的 HTML 产生的,如果是这样的话,那问题就好解决了,真接用 CSS 去掉边框:

body {
border: 0px;
overflow: auto; /*可自动隐藏或显示滚动条;设为 hidden 完全隐藏滚动条*/
}

当你高兴地设置以上 CSS 后,却发现 WebBrowser 的边框却依然存在,是 CSS 错了吗?NO,是你的 DOCTYPE 出了问题,以上的 CSS 在 XHTML 下是无效果的,将 DOCTYPE 设为 HTML4 即可:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
posted @ 2008-09-12 01:23  威尼斯的夏天  阅读(699)  评论(0编辑  收藏  举报