当TWebBrowser
控制太小时,它会变灰。
如果TWebBrowser
控件与alClient
对齐且表单上没有其他控件,我可以将其设置为非常小(例如50x10)。但是,当我添加其他控件,如面板,工具栏,主菜单等等都浮在顶部(alTop
) - 我添加的控件越多,TWebBrowser
的{{1}}窗口就越小没有变老。当窗口调整大小变大时,它会再次变为未被重新组合。
在此示例中,我放置TToolBar
,其中2个按钮与alTop
对齐,TWebBrowser
与alClient
对齐。如果我使工具栏不可见,我可以使网页浏览器非常小。但是,在工具栏可见的情况下,它会变灰。我添加的控件越多,它在变灰之前似乎拥有越来越少的可用空间。
正如您在上一个示例中所看到的,Web浏览器甚至比第二个示例中的更小,但仍然可见,除了顶部没有工具栏外,一切都是相同的。如果在Windows 7或8或Internet Explorer 10或11上使用,则同样适用。
这里的例子只是例子。将100x100控制作为最小尺寸我没有问题。问题是,当我放置相当多的控件时,它不允许我控制比550x250更小的控制,这是非常大的。
任何人都可以告诉我为什么其他控件对Web浏览器不能使用较小的大小有什么影响,当它在表单上没有其他控件时能正常完成时会这样做吗?
答案 0 :(得分:5)
非常感谢bummi在评论中寻找以下解决方法:
似乎灰色控件的问题不会出现在XE3及更高版本中,但可以在XE2,XE,2010和2009等早期版本中重现。
对于这些早期版本,解决方法是将TWebBrowser
放在另一个控件上,例如TPanel
,然后将两个控件对齐到alClient
(以便TWebBrowser
填充整个TPanel
{1}}和TPanel
填充之前由TWebBrowser
填充的整个区域。当然,这里的对齐不是问题,但解决方法只是将一个控件放在另一个控件上。
同样适用于TEmbeddedWB
以及可能承载Internet Explorer ActiveX控件的其他控件。
当放置在TPanel
之类的容器控件上时,可以将Web浏览器调整为任意大小,而不会出现上述问题。