Cod*_*345 3 delphi c++builder webbrowser-control twebbrowser
当TWebBrowser控制太小时会变得灰暗.
如果TWebBrowser控件对齐alClient并且表单上没有其他控件,我可以使它非常小(例如50x10).然而,当我添加其他控件,如面板,工具栏,主菜单等等都浮在顶部(alTop) - 我添加的控件越多,TWebBrowser我可以得到更小的窗口而不会变灰.当窗口调整大小变大时,它会再次变为未分组.
在这个例子中,我放置TToolBar了2个按钮对齐alTop,并TWebBrowser对齐alClient.如果我使工具栏不可见,我可以使网页浏览器非常小.但是,在工具栏可见的情况下,它会变灰.我添加的控件越多,它在变灰之前似乎拥有越来越少的可用空间.

正如您在上一个示例中所看到的,Web浏览器甚至比第二个示例中的更小,但仍然可见,除了顶部没有工具栏外,一切都是相同的.如果在Windows 7或8或Internet Explorer 10或11上使用,则同样适用.
这里的例子只是例子.将100x100控制作为最小尺寸我没有问题.问题是,当我放置相当多的控件时,它不允许我控制比550x250更小的控制,这是非常大的.
任何人都可以告诉我为什么其他控件对Web浏览器不能使用较小的大小,当它在表单上没有其他控件时可以完美地完成这一操作?
非常感谢bummi在评论中寻找以下解决方法:
似乎灰色控件的问题不会出现在XE3及更高版本中,但可以在早期版本(如XE2,XE,2010和2009)中重现.
对于这些早期版本,解决方法是放置TWebBrowser在另一个控件上TPanel,然后将两个控件对齐alClient(以便TWebBrowser填充整个TPanel并TPanel填充之前填充的整个区域TWebBrowser).当然,这里的对齐不是问题,但解决方法只是将一个控件放在另一个上.
这同样适用于TEmbeddedWB托管Internet Explorer ActiveX控件的其他控件.
当放置在容器控件上时TPanel,可以将Web浏览器调整为任何大小而不会出现上述问题.