如何获得webbrowser网页里某元素所占用的位置坐标
答案:2 悬赏:80 手机版
解决时间 2021-02-27 19:27
- 提问者网友:欺烟
- 2021-02-27 14:59
如何获得webbrowser网页里某元素所占用的位置坐标
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-02-27 16:32
用getBoundingClientRect方法获取 :
引用mshtml;
IHTMLDocument3 document = (IHTMLDocument3)WB1.Document.DomDocument;
IHTMLElement2 ele3 = document.getElementById("DIV的ID") as IHTMLElement2;
MessageBox.Show(ele3.getBoundingClientRect().top.ToString() + "," + ele3.getBoundingClientRect().left.ToString());
引用mshtml;
IHTMLDocument3 document = (IHTMLDocument3)WB1.Document.DomDocument;
IHTMLElement2 ele3 = document.getElementById("DIV的ID") as IHTMLElement2;
MessageBox.Show(ele3.getBoundingClientRect().top.ToString() + "," + ele3.getBoundingClientRect().left.ToString());
全部回答
- 1楼网友:你可爱的野爹
- 2021-02-27 17:15
先说一句,现在mfc最新的webbrowser是cwebbrowser2 scrollinfo scrollinfo; getscrollinfo(sb_horz, &scrollinfo, sif_all); switch (nsbcode) { case sb_lineright: if (scrollinfo.npos < scrollinfo.nmax){ scrollinfo.npos += 10; setscrollinfo(sb_horz, &scrollinfo); scrollwindow(-10, 0);} break; } 使用 getscrollinfo 得到滚动信息 将信息保存于 scrollinfo 类的数据中 然后根据 nsbcode 来判断是哪个滚动条的哪个动作,做了调整 下面列出滚动的相关函数 afx_msg void onhscroll( uint nsbcode, uint npos, cscrollbar* pscrollbar );各个参数的意义: nsbcode 指定指示用户滚动请求的滚动条代码。 此参数可以是下列值之一: sb_left 滚动到最左侧。 sb_endscroll 结束滚动。 sb_lineleft 滚动。 sb_lineright 滚动权限。 sb_pageleft 滚动一页。 sb_pageright 滚动一页权限。 sb_right 滚动到最右边。 sb_thumbposition 为绝对位置的滚动。 当前位置由 npos 参数指定。 sb_thumbtrack 拖动到指定位置的滚动框。 当前位置由 npos 参数指定。 npos 如果滚动条代码是 sb_thumbposition 或 sb_thumbtrack,指定滚动框位置;否则,未使用。 基于初始滚动大小,npos 可以为负的,因此如果需要,转换到 int。 pscrollbar 如果滚动消息来自滚动条控件,其中包含指向该控件。 //如果是手动添加的滚动控件 如果用户单击窗口滚动条,此参数是 null。 指针可能是瞬态的,不应存储以供将来使用。 还有什么问题可以私信我~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯