cActiveWebEvent.cls
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:2k
源码类别:

浏览器

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "cActiveWebEvent"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
  15. Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
  16. '======================================================
  17. '    作用:
  18. '    在NavigateComplete2的时候捕获document ondragstart事件
  19. '    并且在dragstart的时候使程序能捕获
  20. '    body的ondrag , ondragleave, ondragend
  21. '======================================================
  22. Option Explicit
  23. Private m_pDisp As Object
  24. Private m_ParentForm As frmBrowser
  25. Public Sub DefaultProc()
  26. Attribute DefaultProc.VB_UserMemId = 0
  27. On Error GoTo due
  28. Dim tDrag As cOpenDragLink
  29. WebDraging = True
  30. Dim tDoc As MSHTML.HTMLDocument
  31. Dim tEvent As MSHTML.IHTMLEventObj2
  32. Set tDoc = m_pDisp.Document
  33. With gSelfDrag
  34.     Debug.Print "typeof:"; TypeOf m_pDisp Is SHDocVw.WebBrowser
  35.     .Reset
  36.     .SelfDraging = True
  37.     .DragFormIndex = m_ParentForm.tagIndex
  38.     Set tEvent = tDoc.parentWindow.event
  39.     .SrcType = LCase(tEvent.srcElement.tagName)
  40.     If .SrcType = "img" Then
  41.         .SrcStr = tEvent.srcElement.src
  42.     Else
  43.         .SrcType = "text"
  44.         .SrcStr = tEvent.dataTransfer.GetData("text")
  45.     End If
  46.     
  47.     Set gSelfDrag.SelRange = tDoc.Selection.createRange
  48.     
  49. End With
  50. If Not TypeOf m_pDisp.Document.body.ondragend Is cOpenDragLink Then
  51.     Set tDrag = New cOpenDragLink
  52.     tDrag.SetDoc tDoc
  53.     tDoc.body.ondragend = tDrag
  54. End If
  55. Exit Sub
  56.     
  57. due:
  58.     Debug.Print Err.Description
  59. End Sub
  60. Public Property Get pDisp() As Object
  61. Set pDisp = m_pDisp
  62. End Property
  63. Public Property Let pDisp(ByVal vNewValue As Object)
  64. Set m_pDisp = vNewValue
  65. End Property
  66. Public Property Get ParentForm() As frmBrowser
  67. Set ParentForm = m_ParentForm
  68. End Property
  69. Public Property Let ParentForm(ByVal vNewValue As frmBrowser)
  70. Set m_ParentForm = vNewValue
  71. End Property
  72. Private Sub Class_Initialize()
  73. 'Debug.Print "========= initialize ==========", ObjPtr(Me)
  74. End Sub
  75. Private Sub Class_Terminate()
  76. On Error Resume Next
  77. m_ParentForm.EnableSetWebEvent
  78. 'Debug.Print "=============terminate==============", ObjPtr(Me)
  79. End Sub