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

浏览器

开发平台:

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 = "cTvwFavorite"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. 'Private WithEvents mTvwMain As TreeView
  16. Private WithEvents m_cTvwMain As cTreeView32
  17. Attribute m_cTvwMain.VB_VarHelpID = -1
  18. Private mMdiFrm As MDIFrmMain
  19. Private Sub m_cTvwMain_Click(hItem As Long, x As Long, y As Long)
  20. Dim tIndex&
  21. On Error GoTo m_cTvwMain_Click_Error
  22. If hItem <> 0 Then
  23.     Select Case m_cTvwMain.GetItemCChildren(hItem)
  24.         Case 1
  25.     
  26.             'Call ExpandNode( , Not tmpNode.Expanded)
  27.         Case 0
  28.             tIndex = m_cTvwMain.GetItemParam(hItem)
  29.             If vkPress(VK_SHIFT) Then
  30.                 Call mMdiFrm.NewWebbrowser(favoriteInfo(tIndex).Url)
  31.             Else
  32.                 If loadedBrowserCount > 0 Then
  33.                     webbState(gActiveWebIndex).webForm.Navigate favoriteInfo(tIndex).Url, False
  34.                 Else
  35.                     Call mMdiFrm.NewWebbrowser(favoriteInfo(tIndex).Url)
  36.                 End If
  37.             End If
  38.     End Select
  39. End If
  40.    
  41.    Exit Sub
  42. m_cTvwMain_Click_Error:
  43.     Debug.Print "Error " & Err.Number & " (" & Err.Description & ") in procedure m_cTvwMain_Click of Class Module cTvwFavorite"
  44. End Sub
  45. Private Sub m_cTvwMain_Expanding(hItem As Long, isExpand As Boolean)
  46. On Error Resume Next
  47. Dim tIndex&
  48. tIndex = m_cTvwMain.GetItemParam(hItem)
  49. If isExpand Then
  50.     With loadSubInfo(tIndex)
  51.         If Not .isLoadSub Then
  52.             'mMdiFrm.SeedFile .path, .hWnd, , , .hNode
  53.             mMdiFrm.SeekFavoriteFolder .path, .hWnd, , , .hNode
  54.             .isLoadSub = True
  55.         End If
  56.     End With
  57.     Call m_cTvwMain.SetItemIcon(hItem, 5, 5)
  58. Else
  59.     Call m_cTvwMain.SetItemIcon(hItem, 4, 4)
  60. End If
  61. End Sub
  62. Private Sub m_cTvwMain_RClick(hItem As Long, x As Long, y As Long)
  63. If hItem <> 0 Then
  64.     Call PopMenu(hItem)
  65. End If
  66. End Sub
  67. Private Sub m_cTvwMain_SetTip(hItem As Long, vTip As String)
  68. On Error Resume Next
  69. If m_cTvwMain.GetItemCChildren(hItem) = 0 Then
  70.     With favoriteInfo(m_cTvwMain.GetItemParam(hItem))
  71.         vTip = .Title & vbNewLine & .Url
  72.     End With
  73. End If
  74. End Sub
  75. 'Private Sub mTvwMain_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  76. 'Dim tmpNode As Node
  77. 'Set tmpNode = mTvwMain.HitTest(x, y)
  78. 'If Not (tmpNode Is Nothing) Then
  79. '    Select Case Button
  80. '        Case vbLeftButton
  81. '            If tmpNode.Tag = "Root" Then
  82. '                Call ExpandNode(tmpNode, Not tmpNode.Expanded)
  83. '            Else
  84. ''                If Not mMdiFrm.tlbOther.Buttons("locknew").Value Then webbState(gActiveWebIndex).isFirst = 1
  85. '                If Shift = vbShiftMask Then
  86. '                    'isTabClick = True
  87. '                    Call mMdiFrm.NewWebbrowser(tmpNode.Tag) 'gActiveWebIndex = newWebbrowser(tmpNode.Tag)
  88. '                Else
  89. '                    If loadedBrowserCount > 0 Then
  90. '                        webbState(gActiveWebIndex).webForm.Navigate tmpNode.Tag, False
  91. '                    Else
  92. '                        Call mMdiFrm.NewWebbrowser(tmpNode.Tag)
  93. '                    End If
  94. '                End If
  95. '            End If
  96. '            Button = 0
  97. '        Case vbRightButton
  98. '            Call PopMenu(tmpNode)
  99. '            Button = 0
  100. '    End Select
  101. 'End If
  102. 'End Sub
  103. Public Sub ExpandNode(nNode As Long, nExpanded As Boolean)
  104. Dim tIndex&
  105. If m_cTvwMain Is Nothing Then Exit Sub
  106. On Error GoTo ExpandNode_Error
  107. tIndex = m_cTvwMain.GetItemParam(nNode)
  108. With loadSubInfo(tIndex)
  109.     If Not .isLoadSub Then
  110.         'Call mMdiFrm.SeedFile(.path, .hWnd, , , .hNode)
  111.         Call mMdiFrm.SeekFavoriteFolder(.path, .hWnd, , , .hNode)
  112.         .isLoadSub = True
  113.     End If
  114. End With
  115. If nExpanded Then
  116.     Call m_cTvwMain.ExpandItem(nNode, TVE_EXPAND)
  117. Else
  118.     Call m_cTvwMain.ExpandItem(nNode, TVE_COLLAPSE)
  119. End If
  120. 'If nExpanded Then
  121. '    Set tNode = nNode.Parent
  122. '    While Not tNode Is Nothing
  123. '        tNode.Expanded = True
  124. '        Set tNode = tNode.Parent
  125. '    Wend
  126. '    nNode.image = ImgK_Icon_Folder_Open  ' 6
  127. 'Else
  128. '    nNode.image = ImgK_Icon_Folder ' 1
  129. 'End If
  130.    
  131. Exit Sub
  132. ExpandNode_Error:
  133.     Debug.Print "Error " & Err.Number & " (" & Err.Description & ") in procedure ExpandNode of Class Module cTvwFavorite"
  134. End Sub
  135. Public Sub IniClass(nTvw As cTreeView32, nMdi As MDIForm)
  136. Set m_cTvwMain = nTvw
  137. Set mMdiFrm = nMdi
  138. End Sub
  139. Public Property Get TvwMain() As cTreeView32
  140.     Set TvwMain = m_cTvwMain
  141. End Property
  142. Private Sub PopMenu(hItem&)
  143. On Error Resume Next
  144. Dim tShell As New cShowFilePropertyWindow
  145. Dim tId As Long
  146. Dim hw As Long
  147. Dim tIndex&
  148. Dim tNode&
  149. hw = mMdiFrm.hWnd
  150. tIndex = m_cTvwMain.GetItemParam(hItem)
  151. Select Case m_cTvwMain.GetItemCChildren(hItem)
  152.     Case 1
  153.         FavoriteFolderPopMenu.SetDefault ID_FavFolder_SideFav
  154.         tId = FavoriteFolderPopMenu.Popup2(hw)
  155.         Select Case tId
  156.             Case ID_FavFolder_Explorer
  157.                 tShell.ShowProps loadSubInfo(tIndex).path, verbShowExplorer
  158.             Case ID_FavFolder_SideFav
  159.                 Call ExpandNode(hItem, True)
  160.             Case ID_FavFolder_OpenAllLink
  161.                 Call ExpandNode(hItem, m_cTvwMain.GetItemState(hItem, TVIS_EXPANDED) = TVIS_EXPANDED)
  162.                 tNode = m_cTvwMain.GetNextItem(TVGN_CHILD, hItem)
  163.                 While tNode <> 0
  164.                     If m_cTvwMain.GetItemCChildren(tNode) = 0 Then
  165.                         mMdiFrm.NewWebbrowser favoriteInfo(m_cTvwMain.GetItemParam(tNode)).Url
  166.                     End If
  167.                     tNode = m_cTvwMain.GetNextItem(TVGN_NEXT, tNode)
  168.                 Wend
  169.         End Select
  170.     Case 0
  171.         FavoriteURLPopMenu.SetDefault ID_FavUrl_Open
  172.         tId = FavoriteURLPopMenu.Popup2(hw)
  173.         Select Case tId
  174.             Case ID_FavUrl_OpenNew
  175.                 mMdiFrm.NewWebbrowser favoriteInfo(tIndex).Url
  176.             Case ID_FavUrl_Open
  177.                 If loadedBrowserCount > 0 Then
  178.                     webbState(gActiveWebIndex).webForm.Navigate favoriteInfo(tIndex).Url, False
  179.                 Else
  180.                     Call mMdiFrm.NewWebbrowser(favoriteInfo(tIndex).Url)
  181.                 End If
  182.             Case ID_FavUrl_Property
  183.                tShell.ShowProps favoriteInfo(tIndex).path, verbShowProperties
  184.             Case ID_FavUrl_OpenIE
  185.                 Call mMdiFrm.NewIE(favoriteInfo(tIndex).Url)
  186.             Case ID_FavUrl_Delete
  187. '                If MsgBox("确实要删除 """ & favoriteInfo(tIndex).Title & """ ?", vbOKCancel Or vbQuestion, "删除收藏") = vbOK Then
  188. '                    Kill favoriteInfo(tIndex).path
  189. '                End If
  190.         End Select
  191. End Select
  192. End Sub
  193. 'Option Explicit
  194. '
  195. 'Private WithEvents mTvwMain As TreeView
  196. 'Private mMdiFrm As MDIFrmMain
  197. ''Private tvwPopItemKey  As String
  198. 'Private mDownPt As POINTAPI
  199. ''Private mPrePt As POINTAPI
  200. 'Private mDownNode As MSComctlLib.Node
  201. '
  202. 'Private Sub mTvwMain_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  203. 'mDownPt.x = x / 15
  204. 'mDownPt.y = y / 15
  205. 'Set mDownNode = mTvwMain.HitTest(x, y)
  206. 'If Not mDownNode Is Nothing Then
  207. '    mDownNode.Selected = True
  208. 'End If
  209. 'End Sub
  210. '
  211. 'Private Sub mTvwMain_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  212. 'Dim tmpNode As Node
  213. 'Set tmpNode = mTvwMain.HitTest(x, y)
  214. 'If Not (tmpNode Is Nothing) Then
  215. '    If tmpNode.Tag <> "Root" Then
  216. '        mTvwMain.ToolTipText = tmpNode.Tag
  217. '    Else
  218. '        mTvwMain.ToolTipText = ""
  219. '    End If
  220. 'Else
  221. '    mTvwMain.ToolTipText = ""
  222. 'End If
  223. 'If Button <> 0 Then
  224. '    If Not (tmpNode Is mDownNode) Then
  225. '        mTvwMain.Drag
  226. '    End If
  227. 'End If
  228. 'End Sub
  229. '
  230. 'Private Sub mTvwMain_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  231. 'Dim tmpNode As Node
  232. 'Set tmpNode = mTvwMain.HitTest(x, y)
  233. 'If Not (tmpNode Is Nothing) Then
  234. '    Select Case Button
  235. '        Case vbLeftButton
  236. '            If tmpNode.Tag = "Root" Then
  237. '                Call ExpandNode(tmpNode, Not tmpNode.Expanded)
  238. '            Else
  239. ''                If Not mMdiFrm.tlbOther.Buttons("locknew").Value Then webbState(gActiveWebIndex).isFirst = 1
  240. '                If Shift = vbShiftMask Then
  241. '                    'isTabClick = True
  242. '                    Call mMdiFrm.NewWebbrowser(tmpNode.Tag) 'gActiveWebIndex = newWebbrowser(tmpNode.Tag)
  243. '                Else
  244. '                    If loadedBrowserCount > 0 Then
  245. '                        webbState(gActiveWebIndex).webForm.Navigate tmpNode.Tag, False
  246. '                    Else
  247. '                        Call mMdiFrm.NewWebbrowser(tmpNode.Tag)
  248. '                    End If
  249. '                End If
  250. '            End If
  251. '            Button = 0
  252. '        Case vbRightButton
  253. '            Call PopMenu(tmpNode)
  254. '            Button = 0
  255. '    End Select
  256. 'End If
  257. 'End Sub
  258. '
  259. 'Public Sub ExpandNode(nNode As MSComctlLib.Node, nExpanded As Boolean)
  260. 'Dim tNode As MSComctlLib.Node
  261. 'If Not loadSubInfo(nNode.index).isLoadSub Then
  262. '    Call mMdiFrm.SeedFile(nNode.Key, loadSubInfo(nNode.index).hwnd, , , loadSubInfo(nNode.index).hNode)
  263. '    loadSubInfo(nNode.index).isLoadSub = True
  264. 'End If
  265. 'nNode.Expanded = nExpanded
  266. 'If nExpanded Then
  267. '    Set tNode = nNode.Parent
  268. '    While Not tNode Is Nothing
  269. '        tNode.Expanded = True
  270. '        Set tNode = tNode.Parent
  271. '    Wend
  272. '    nNode.image = ImgK_Icon_Folder_Open  ' 6
  273. 'Else
  274. '    nNode.image = ImgK_Icon_Folder ' 1
  275. 'End If
  276. 'End Sub
  277. 'Public Sub IniClass(nTvw As TreeView, nMdi As MDIForm)
  278. 'Set mTvwMain = nTvw
  279. 'Set mMdiFrm = nMdi
  280. 'End Sub
  281. '
  282. 'Public Property Get TvwMain() As TreeView
  283. '    Set TvwMain = mTvwMain
  284. 'End Property
  285. '
  286. 'Private Sub PopMenu(nNode As MSComctlLib.Node)
  287. 'Dim tShell As New cShowFilePropertyWindow
  288. 'Dim tId As Long
  289. 'Dim hw As Long
  290. 'Dim tNode As MSComctlLib.Node
  291. 'hw = mMdiFrm.hwnd
  292. '
  293. 'If nNode.Tag = "Root" Then
  294. '    FavoriteFolderPopMenu.SetDefault ID_FavFolder_SideFav
  295. '    tId = FavoriteFolderPopMenu.Popup2(hw)
  296. '    Select Case tId
  297. '        Case ID_FavFolder_Explorer
  298. '            tShell.ShowProps nNode.Key, verbShowExplorer
  299. '        Case ID_FavFolder_SideFav
  300. '            Call ExpandNode(nNode, True)
  301. '        Case ID_FavFolder_OpenAllLink
  302. '            Call ExpandNode(nNode, nNode.Expanded)
  303. '            Set tNode = nNode.Child
  304. '            While Not tNode Is Nothing
  305. '                If tNode.Tag <> "Root" Then
  306. '                    mMdiFrm.NewWebbrowser tNode.Tag
  307. '                End If
  308. '                Set tNode = tNode.Next
  309. '            Wend
  310. '    End Select
  311. 'Else
  312. '    FavoriteURLPopMenu.SetDefault ID_FavUrl_Open
  313. '    tId = FavoriteURLPopMenu.Popup2(hw)
  314. '    Select Case tId
  315. '        Case ID_FavUrl_OpenNew
  316. '            mMdiFrm.NewWebbrowser nNode.Tag
  317. '        Case ID_FavUrl_Open
  318. '            If loadedBrowserCount > 0 Then
  319. '                webbState(gActiveWebIndex).webForm.Navigate nNode.Tag, False
  320. '            Else
  321. '                Call mMdiFrm.NewWebbrowser(nNode.Tag)
  322. '            End If
  323. '        Case ID_FavUrl_Property
  324. '           tShell.ShowProps nNode.Key, verbShowProperties
  325. '        Case ID_FavUrl_OpenIE
  326. '            Call mMdiFrm.NewIE(nNode.Tag)
  327. '    End Select
  328. '
  329. 'End If
  330. 'End Sub
  331. '
  332. '
  333. '