3

TWebBrowser控件太小时,它会变成灰色。

如果TWebBrowser控件对齐alClient并且表单上没有其他控件,我可以使其非常小(例如 50x10)。alTop但是,当我添加其他控件(如面板、工具栏、主菜单等)时,它们TWebBrowser都浮动在顶部(当窗口大小调整为变大时,它再次变为非灰色。

在此示例中,我放置TToolBar了 2 个与 对齐alTop并与TWebBrowser对齐的按钮alClient。如果我让工具栏不可见,我可以让网络浏览器变得非常小。但是,在工具栏可见的情况下,它本身会变灰。我添加的控件越多,它在变灰之前的可用空间似乎越来越少。

网络浏览器变灰

正如您在上一个示例中看到的,Web 浏览器比第二个示例更小,但仍然可见,除了顶部没有工具栏外,一切都相同。如果在 Windows 7 或 8 或 Internet Explorer 10 或 11 上使用,同样适用。

这里的例子只是例子。将 100x100 控件作为最小尺寸我没有问题。问题是当我放置相当多的控件时,它不允许我拥有比 550x250 更小的控件,这是相当大的。

谁能告诉我为什么其他控件会对 Web 浏览器产生影响,而当表单上没有其他控件时它可以正常完美地做到这一点,却无法使用较小的尺寸?

4

1 回答 1

5

非常感谢上面评论中的 bummi 找到了以下解决方法:

灰色控制的问题似乎不会出现在 XE3 及更高版本中,但可以在早期版本(如 XE2、XE、2010 和 2009)中重现。

对于这些早期版本,解决方法是放置TWebBrowser在另一个控件上,例如TPanel然后将两个控件对齐alClient(以便TWebBrowser填充整个区域TPanelTPanel填充之前填充的整个区域TWebBrowser)。当然,此处的对齐不是问题,但解决方法是将一个控件放在另一个控件上。

这同样适用于TEmbeddedWB承载 Internet Explorer ActiveX 控件的其他控件,可能还有其他控件。

当放置在容器控件上时TPanel,可以将 Web 浏览器调整为任意大小,而不会出现上述问题。

于 2013-10-19T10:48:53.197 回答