您的位置:首页 > 编程语言 > VB

VB 捕获 WebBrowser控件的鼠标和键盘事件

2013-04-16 14:29 459 查看
    利用 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, 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: