[IE编程] WebBrowser控件中设置页面的缩放

 

如果你的程序中使用WebBrowser控件并且希望有和IE 一样的页面缩放功能(如下图),可以通过向IWebBrowser2 发送 OLECMDID_OPTICAL_GETZOOMRANGEOLECMDID_OPTICAL_ZOOM 命令来实现。 示例代码如下:

 

IE 缩放

 

取得缩放比例的范围:

CComVariant varRange;

spWebBrowser->ExecWB(OLECMDID_OPTICAL_GETZOOMRANGE, OLECMDEXECOPT_DODEFAULT, NULL, &varRange);

ASSERT(V_VT(&varRange) == VT_I4);

WORD wMinZoom = LOWORD(V_I4(&varRange)); // 最小缩放比例

WORD wMaxZoom = HIWORD(V_I4(&varRange)); // 最大缩放比例

 

获取当前缩放比例:

CComVariant varZoom;

spWebBrowser->ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, NULL, &varZoom);

ASSERT(V_VT(&varZoom) == VT_I4);
ULONG ulZoom = V_I4(&varZoom);    // 当前缩放比例, 100 表示100%,即原始尺寸

 

设置缩放比率:

CComVariant varZoom((int)nZoom);  // nZoom是要设置的缩放比例

spWebBrowser->ExecWB(OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, &varZoom, NULL);  

 

 

注:OLECMDID_OPTICAL_GETZOOMRANGE,OLECMDID_OPTICAL_ZOOM 从IE7 才开始支持,在IE6以及之前版本中,请使用 OLECMDID_GETZOOMRANGE , OLECMDID_ZOOM 。需要注意是的是, IE6以及早期版本只能对字体进行缩放,但是很多网页用CSS固定了字体的大小,所以多数时候缩放效果不理想。  从IE7开始,IE的页面缩放功能被重新设计, 可以对整个页面进行矢量缩放(图片,编辑框等)。 IE8 优化了缩放的性能以及加入了一些智能的页面元素调整,使缩放效果更加平滑。

 

 

 >> 原创文章的版权属于作者,转载请注明出处(http://blog.csdn.net/WinGeek/), 谢谢。 <<

 

 

 

 

 

posted @   ajuanabc  阅读(574)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示