Greyed TWebBrowser控件

时间:2013-10-18 08:42:23

标签: delphi webbrowser-control c++builder twebbrowser

TWebBrowser控制太小时,它会变灰。

如果TWebBrowser控件与alClient对齐且表单上没有其他控件,我可以将其设置为非常小(例如50x10)。但是,当我添加其他控件,如面板,工具栏,主菜单等等都浮在顶部(alTop) - 我添加的控件越多,TWebBrowser的{​​{1}}窗口就越小没有变老。当窗口调整大小变大时,它会再次变为未被重新组合。

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

WebBrowser greyed

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

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

任何人都可以告诉我为什么其他控件对Web浏览器不能使用较小的大小有什么影响,当它在表单上没有其他控件时能正常完成时会这样做吗?

1 个答案:

答案 0 :(得分:5)

非常感谢bummi在评论中寻找以下解决方法:

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

对于这些早期版本,解决方法是将TWebBrowser放在另一个控件上,例如TPanel,然后将两个控件对齐到alClient(以便TWebBrowser填充整个TPanel {1}}和TPanel填充之前由TWebBrowser填充的整个区域。当然,这里的对齐不是问题,但解决方法只是将一个控件放在另一个控件上。

同样适用于TEmbeddedWB以及可能承载Internet Explorer ActiveX控件的其他控件。

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