当前位置: 首页 > news >正文

[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/), 谢谢。 <<

相关文章:

  • LeetCode -- Find the Duplicate Number
  • LeetCode -- Group Anagrams
  • LeetCode -- Kth Largest Element in an Array
  • 最近评论回复汇总
  • LeetCode -- Maximum Gap
  • OO系统分析员之路--用例分析系列(8)--如何编写一份完整的UML需求规格说明书[整理重发]...
  • LeetCode -- Maximum Subarray
  • ArcGIS Server Java ADF 案例教程 25
  • LeetCode -- Minimum Depth of Binary Tree
  • ArcGIS Server Java ADF 案例教程 26
  • LeetCode -- Minimum Path Sum
  • LeetCode -- Multiply Strings
  • ArcGIS Server Java ADF 案例教程 27
  • LeetCode -- Permutations II
  • SQL语句性能调整之ORACLE的执行计划
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Angularjs之国际化
  • Asm.js的简单介绍
  • HashMap ConcurrentHashMap
  • JSDuck 与 AngularJS 融合技巧
  • JS函数式编程 数组部分风格 ES6版
  • leetcode388. Longest Absolute File Path
  • leetcode讲解--894. All Possible Full Binary Trees
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Mocha测试初探
  • Python_网络编程
  • React-redux的原理以及使用
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 大型网站性能监测、分析与优化常见问题QA
  • 第2章 网络文档
  • 反思总结然后整装待发
  • 来,膜拜下android roadmap,强大的执行力
  • 我有几个粽子,和一个故事
  • 线性表及其算法(java实现)
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #图像处理
  • (7)STL算法之交换赋值
  • (C语言)fread与fwrite详解
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (万字长文)Spring的核心知识尽揽其中
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • ../depcomp: line 571: exec: g++: not found