VB 捕获 WebBrowser控件的鼠标和键盘事件
发布时间:2020-12-17 08:16:45 所属栏目:百科 来源:网络整理
导读:利用 Document 的 event 对象,可以捕获 WebBrowser 众多的鼠标和键盘事件的状态,如鼠标坐标、按下了键盘哪个键,以及键盘 Ctrl、Alt、Shift 键的状态、当前网页元素的ID、索引等等。 程序运行截图如下: ' ' '以下窗体代码在 VB6 调试通过 '在“工程/部件
利用 Document 的 event 对象,可以捕获 WebBrowser 众多的鼠标和键盘事件的状态,如鼠标坐标、按下了键盘哪个键,以及键盘 Ctrl、Alt、Shift 键的状态、当前网页元素的ID、索引等等。 程序运行截图如下: ' ' '以下窗体代码在 VB6 调试通过 '在“工程/部件”的控件对话框中勾选:Microsoft Internet Controls '在“工程/引用”对话框中勾选:Microsoft HTML Object Library '然后再窗体放置控件:WebBrowser1 '程序运行后,在网页上移动、单击鼠标,或按下键盘某个键,注意窗体标题栏给出的信息 '本人原创,转载请注明来源:http://hi.baidu.com/100bd/blog/item/8c280b6cb6e9e3ed43169495.html Private WithEvents ctDoc As MSHTML.HTMLDocument Private Sub Form_Load() WebBrowser1.Navigate "about:blank" '设置为空白页,否则 ctDoc = WebBrowser1.Document 会无效 Set ctDoc = WebBrowser1.Document WebBrowser1.Navigate "http://www.baidu.com/" End Sub Private Sub Form_Resize() On Error Resume Next WebBrowser1.Move 0,Me.ScaleWidth,Me.ScaleHeight End Sub Private Sub ctDoc_onmousemove() EventsHTML End Sub Private Sub ctDoc_onmousedown() EventsHTML End Sub Private Sub ctDoc_onmouseup() EventsHTML End Sub Private Function ctDoc_onkeypress() As Boolean EventsHTML End Function Private Sub ctDoc_onkeydown() EventsHTML End Sub Private Sub ctDoc_onkeyup() EventsHTML End Sub Private Sub EventsHTML() Dim nEvent As String,X As Long,Y As Long X = ctDoc.parentWindow.event.clientX '鼠标 x 坐标位置(像素) Y = ctDoc.parentWindow.event.clientY '鼠标 y 坐标位置(像素) nEvent = ctDoc.parentWindow.event.Type '事件名称,如:MouseDown、MouseMove、MouseUp、KeyPress 等 nEvent = nEvent & ":" & X & "," & Y nEvent = nEvent & " Button=" & ctDoc.parentWindow.event.button '按下了鼠标那个键 nEvent = nEvent & " keyCode=" & ctDoc.parentWindow.event.keyCode '键盘编码 ' nEvent = nEvent & " Ctrl=" & ctDoc.parentWindow.event.ctrlKey '键盘 Ctrl 键的状态 ' nEvent = nEvent & " Alt=" & ctDoc.parentWindow.event.altKey '键盘 Alt 键的状态 ' nEvent = nEvent & " Shift=" & ctDoc.parentWindow.event.shiftKey '键盘 Shift 键的状态 On Error Resume Next nEvent = nEvent & " 元素=" & ctDoc.parentWindow.event.srcElement.tagName nEvent = nEvent & " 索引=" & ctDoc.parentWindow.event.srcElement.sourceIndex nEvent = nEvent & " ID=" & ctDoc.parentWindow.event.srcElement.id Me.Caption = nEvent End Sub '本人原创,转载请注明来源:http://hi.baidu.com/100bd/blog/item/8c280b6cb6e9e3ed43169495.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 正则表达式
- objective-c – 如何衡量iOS线程的实际CPU时间?
- macos – 在Snow Leopard上安装一些宝石的错误 – libxml2
- PostgreSQL+PostGIS+OpenStreeMap+GeoServer环境搭建
- 使用最新版本Dojo1.7的dojox/mobile开发移动设备web应用
- 关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0
- c将ubuntu下的boost库与cmake连接:未定义引用`boost :: io
- XML文档中如何引入Schema
- ruby-on-rails-3.2 – devise.registrations.yasons文件中的
- 如何做好Flex与Java交互