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

浏览器

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmCloseLike 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "关闭相似"
  5.    ClientHeight    =   3195
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   6660
  9.    ControlBox      =   0   'False
  10.    LinkTopic       =   "Form1"
  11.    LockControls    =   -1  'True
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   213
  15.    ScaleMode       =   3  'Pixel
  16.    ScaleWidth      =   444
  17.    StartUpPosition =   1  'CenterOwner
  18.    Begin VB.CommandButton cmdInvert 
  19.       Caption         =   "反选"
  20.       Height          =   360
  21.       Left            =   3960
  22.       TabIndex        =   4
  23.       Top             =   2760
  24.       Width           =   735
  25.    End
  26.    Begin VB.CommandButton cmdRefresh 
  27.       Caption         =   "更新"
  28.       Height          =   300
  29.       Left            =   2820
  30.       TabIndex        =   3
  31.       Top             =   2760
  32.       Width           =   735
  33.    End
  34.    Begin VB.TextBox txtLikeUrl 
  35.       Appearance      =   0  'Flat
  36.       Height          =   300
  37.       Left            =   60
  38.       TabIndex        =   2
  39.       Top             =   2760
  40.       Width           =   2655
  41.    End
  42.    Begin VB.CommandButton cmdCancel 
  43.       Cancel          =   -1  'True
  44.       Caption         =   "取消(&C)"
  45.       Height          =   360
  46.       Left            =   5760
  47.       TabIndex        =   1
  48.       Top             =   2760
  49.       Width           =   855
  50.    End
  51.    Begin VB.CommandButton cmdOk 
  52.       Caption         =   "确定(&O)"
  53.       Default         =   -1  'True
  54.       Height          =   360
  55.       Left            =   4800
  56.       TabIndex        =   0
  57.       Top             =   2760
  58.       Width           =   855
  59.    End
  60. End
  61. Attribute VB_Name = "frmCloseLike"
  62. Attribute VB_GlobalNameSpace = False
  63. Attribute VB_Creatable = False
  64. Attribute VB_PredeclaredId = True
  65. Attribute VB_Exposed = False
  66. Option Explicit
  67. Private CloseIndex() As Long
  68. Private CloseIndexCnt As Long
  69. Private m_cLvwMain As cSysListView32
  70. Private Sub cmdCancel_Click()
  71. Unload Me
  72. End Sub
  73. Private Sub cmdInvert_Click()
  74. Dim i&, tcnt&
  75. With m_cLvwMain
  76.     tcnt = .GetItemCount
  77.     For i = 0 To tcnt - 1
  78.         .CheckItem Not .GetCheckState(i), i
  79.     Next i
  80. End With
  81. 'Dim tItem As MSComctlLib.ListItem
  82. 'For Each tItem In lvwMain.ListItems
  83. '    tItem.Checked = Not tItem.Checked
  84. 'Next tItem
  85. End Sub
  86. Private Sub cmdOk_Click()
  87. Dim i&, tcnt&
  88. Me.Visible = False
  89. tcnt = m_cLvwMain.GetItemCount
  90. For i = 0 To tcnt - 1
  91.     If m_cLvwMain.GetCheckState(i) Then
  92.         gMainForm.UnloadBrowser (CloseIndex(i + 1))
  93.     End If
  94. Next i
  95. Unload Me
  96. 'Dim i&, tCnt&
  97. 'Me.Visible = False
  98. 'tCnt = lvwMain.ListItems.Count
  99. 'For i = 1 To tCnt
  100. '    If lvwMain.ListItems(i).Checked Then
  101. '        gMainForm.UnloadBrowser (CloseIndex(i))
  102. '    End If
  103. 'Next i
  104. 'Unload Me
  105. End Sub
  106. Private Sub cmdRefresh_Click()
  107. Call AddLvwItem(txtLikeUrl.Text)
  108. End Sub
  109. Private Sub Form_Load()
  110. Call IniLvw
  111. End Sub
  112. Private Sub IniLvw()
  113. Set m_cLvwMain = CreateCmmCtrl(strCLSID_cSysListView32) ' New cSysListView32
  114. With m_cLvwMain
  115.     .Create Me.hwnd, LVS_REPORT Or LVS_SHOWSELALWAYS Or LVS_SINGLESEL, _
  116.             LVS_EX_CHECKBOXES, 4, 0, 433, 177
  117.     .AddColumn 0, "标题", 110
  118.     .AddColumn 1, "地址", 220
  119. End With
  120. 'With lvwMain
  121. '    .LabelEdit = lvwManual
  122. '    .View = lvwReport
  123. '    .Appearance = ccFlat
  124. '    .Checkboxes = True
  125. '    .ColumnHeaders.Add , , "标题", Me.ScaleWidth / 4
  126. '    .ColumnHeaders.Add , , "地址", .Width - Me.ScaleWidth / 4
  127. 'End With
  128. End Sub
  129. Public Sub IniMe(ByVal nIndex As Integer, nParent As Form)
  130. Dim tUrl$
  131. tUrl = webbState(nIndex).webForm.GetWebUrl
  132. Call AddLvwItem(GetDomain(tUrl))
  133. txtLikeUrl.Text = GetDomain(tUrl)
  134. Me.Show vbModal, nParent
  135. End Sub
  136. Private Sub AddLvwItem(nDomain As String)
  137. Dim i&
  138. Dim tDomain$, tUrl$
  139. Dim tItem&
  140. tDomain = LCase(nDomain)
  141. CloseIndexCnt = 0
  142. ReDim CloseIndex(0 To 0)
  143. With m_cLvwMain
  144.     m_cLvwMain.ClearItem
  145.     For i = 1 To browserCount
  146.         If Not webbState(i) Is Nothing Then
  147.             tUrl = webbState(i).webForm.GetWebUrl
  148.             If InStr(1, LCase(GetMainUrl(tUrl)), nDomain) > 0 Then
  149.                CloseIndexCnt = CloseIndexCnt + 1
  150.                ReDim Preserve CloseIndex(0 To CloseIndexCnt)
  151.                CloseIndex(CloseIndexCnt) = i
  152.                
  153.                tItem = .AddItem(webbState(i).webForm.GetWebTitle)
  154.                .CheckItem True, tItem
  155.                .SetItemText tUrl, tItem, 1
  156.             End If
  157.         End If
  158.     Next i
  159. End With
  160. 'Dim i&
  161. 'Dim tDomain$, tUrl$
  162. 'Dim tItem As MSComctlLib.ListItem
  163. '
  164. 'tDomain = LCase(nDomain)
  165. 'CloseIndexCnt = 0
  166. 'ReDim CloseIndex(0 To 0)
  167. 'With lvwMain
  168. '    .ListItems.Clear
  169. '    For i = 1 To browserCount
  170. '        'If webbState(i).isLoaded Then
  171. '        If Not webbState(i) Is Nothing Then
  172. '            tUrl = webbState(i).webForm.GetWebUrl
  173. '            If InStr(1, LCase(GetMainUrl(tUrl)), nDomain) > 0 Then
  174. '               CloseIndexCnt = CloseIndexCnt + 1
  175. '               ReDim Preserve CloseIndex(0 To CloseIndexCnt)
  176. '               CloseIndex(CloseIndexCnt) = i
  177. '               Set tItem = .ListItems.Add(, , webbState(i).webForm.GetWebTitle)
  178. '               tItem.Checked = True
  179. '               tItem.SubItems(1) = tUrl
  180. '            End If
  181. '        End If
  182. '    Next i
  183. 'End With
  184. End Sub
  185. Private Function GetDomain(nUrl As String) As String
  186. Dim tstr$
  187. Dim tPointCnt&, tPos&, tPosStart&
  188. tstr = GetMainUrl(nUrl)
  189. tPos = 1: tPosStart = -1
  190. tPointCnt = 0
  191. While tPos > 0
  192.     tPos = InStr(tPos, tstr, ".")
  193.     If tPos > 0 Then
  194.         tPointCnt = tPointCnt + 1
  195.         If tPointCnt = 1 Then
  196.             tPosStart = tPos
  197.         End If
  198.         tPos = tPos + 1
  199.     End If
  200. Wend
  201. If tPointCnt > 1 Then
  202.     GetDomain = Mid$(tstr, tPosStart + 1)
  203. Else
  204.     GetDomain = tstr
  205. End If
  206. Debug.Print "getdomain"
  207. End Function
  208. '获取 "http://" 到 "/"的东西
  209. Private Function GetMainUrl(nUrl As String) As String
  210. Dim tPos1&, tPos2&
  211. tPos1 = InStr(1, nUrl, "://") + 3
  212. tPos2 = InStr(tPos1, nUrl, "/")
  213. If tPos2 > 0 Then
  214.     GetMainUrl = Mid$(nUrl, tPos1, tPos2 - tPos1)
  215. Else
  216.     GetMainUrl = Mid$(nUrl, tPos1)
  217. End If
  218. End Function
  219. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  220. Set m_cLvwMain = Nothing
  221. End Sub