根据
http://www.rendelmann.info/blog/CommentView,guid,356fbe68-3ed6-4781-90a4-57070a0141da.aspx和http://msdn.microsoft.com/en-us/library/aa770056(v=vs.85).aspx的函数
使用控制键和鼠标滚轮使托管的WebBrowser进行缩放只需要调用IWebBrowser2.ExecWB(OLECMDID_OPTICAL_ZOOM, ...)
(pvaIn
值为100
),
但是调用它之后,ctrl+mousewheel仍然不能缩放内容
我在 Delphi 2007中使用的代码:
const
OLECMDID_OPTICAL_ZOOM = 63;
var
pvaIn, pvaOut: OleVariant;
begin
pvaIn := 100;
pvaOut := NULL;
WebBrowser1.ControlInterface.ExecWB(OLECMDID_OPTICAL_ZOOM,
OLECMDEXECOPT_DONTPROMPTUSER, pvaIn, pvaOut);
end;
2条答案
按热度按时间koaltpgm1#
杰森彭尼,
100是默认值,如果要更改缩放比例,则必须增大或减小此值,从10到1000。
我写了一个测试,代码如下:
j1dl9f462#
从http://msdn.microsoft.com/en-us/library/cc849094(v=vs.85).aspx#选择高DPI:
让Web更大:DPI缩放和Internet Explorer 8
选择加入Web浏览器控件(WebOC)的高DPI行为
为了保持与以前开发的WebOC的兼容性,默认情况下,Internet Explorer 8不使用Internet Explorer 8高DPI行为呈现WebOC的Web内容,而是使用Internet Explorer 7行为,该行为放大以绝对值指定的字体(如磅)。要在程序中利用Internet Explorer 8高DPI行为,您需要使用一个名为
DOCHOSTUIFLAG_DPI_AWARE
的DOCHOSTUIFLAG。您可以通过使用GetHostInfo方法来使用此标志,该方法将DOCHOSTUIINFO结构作为其参数之一。而DOCHOSTUIINFO将一个名为dwFlags
的operator DWORD作为其成员之一,可以由一个或多个DOCHOSTUIFLAG值组成。必须在dwFlags中包含DOCHOSTUIFLAG_DPI_AWARE
,以便在WebOC中利用Internet Explorer 8高DPI行为。选择高DPI行为后,模拟WebOCs的HTML内容如何显示的快捷方法是打开等效的HTML内容(在HTML文件中合成),只需在等效的缩放设置下检查渲染(120 DPI到125%缩放,144 DPI到150%缩放)。我们建议您在实际的高DPI场景中测试WebOC,以完全确保HTML内容按您希望的方式呈现。