webbrowser实现网页缩放的问题

三楼の郎 2017-07-19 03:36:44
网上搜了一遍,大体两种方法,
其一是通过样式表设置zoom属性来控制,实际测试发现通过设置Body标签的zoom样式不能实现缩放,但是通过设置div标签的zoom样式可以对某个div标签进行缩放,无法达到想要的效果,猜测可能和POSITION:absolute这个样式有关。
其二是通过Com控件AxWebBrowser的ExeWB方法实现,代码如下:
Dim pvaIn As Integer = 100
Dim pvaOut As Object = Nothing
Try
AxWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_ZOOM, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, CObj(pvaIn), IntPtr.Zero)
Catch ex As Exception
Debug.Print(ex.Message)
End Try

运行是会抛出错误,“试图吊销一个未注册的拖放目标 (异常来自 HRESULT:0x80040100 (DRAGDROP_E_NOTREGISTERED))”
在C#里面调用

object pvaIn=50;
this.axIWebBrowser2.ExecWB(OLECMDID.OLECMDID_OPTICAL_ZOOM,
OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER,
ref pvaIn, IntPtr.Zero);

这样的写法貌似却可以,谁做过类似的东西,能不能告诉我在vb.net里面调用ExeWB的时候参数怎么传
...全文
763 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
三楼の郎 2017-07-19
  • 打赏
  • 举报
回复
C#底下做了一个自定义控件,居然就可以了 害我愁了一天了
三楼の郎 2017-07-19
  • 打赏
  • 举报
回复

dim pvaOut as object=nothing
AxWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_GETZOOMRANGE, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, IntPtr.Zero, pvaOut)
Debug.Print(pvaOut)
使用这段代码读取缩放率的时候,返回的值是262144,这是什么鬼,难道是个地址?

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧