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

浏览器

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmSpPageList 
  3.    Caption         =   "页面管理"
  4.    ClientHeight    =   4950
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   8490
  8.    BeginProperty Font 
  9.       Name            =   "宋体"
  10.       Size            =   9
  11.       Charset         =   134
  12.       Weight          =   400
  13.       Underline       =   0   'False
  14.       Italic          =   0   'False
  15.       Strikethrough   =   0   'False
  16.    EndProperty
  17.    LinkTopic       =   "Form1"
  18.    MinButton       =   0   'False
  19.    ScaleHeight     =   4950
  20.    ScaleWidth      =   8490
  21.    ShowInTaskbar   =   0   'False
  22.    StartUpPosition =   1  'CenterOwner
  23.    Begin VB.PictureBox pctTabs 
  24.       Appearance      =   0  'Flat
  25.       BackColor       =   &H0000C0C0&
  26.       BorderStyle     =   0  'None
  27.       ForeColor       =   &H80000008&
  28.       HasDC           =   0   'False
  29.       Height          =   1695
  30.       Index           =   1
  31.       Left            =   4440
  32.       ScaleHeight     =   1695
  33.       ScaleWidth      =   1395
  34.       TabIndex        =   6
  35.       Top             =   1740
  36.       Visible         =   0   'False
  37.       Width           =   1395
  38.    End
  39.    Begin VB.PictureBox pctTabs 
  40.       Appearance      =   0  'Flat
  41.       BackColor       =   &H000040C0&
  42.       BorderStyle     =   0  'None
  43.       ForeColor       =   &H80000008&
  44.       HasDC           =   0   'False
  45.       Height          =   1695
  46.       Index           =   0
  47.       Left            =   1260
  48.       ScaleHeight     =   1695
  49.       ScaleWidth      =   1395
  50.       TabIndex        =   5
  51.       Top             =   1380
  52.       Width           =   1395
  53.    End
  54.    Begin VB.Frame fraButtons 
  55.       BorderStyle     =   0  'None
  56.       Caption         =   "Frame1"
  57.       BeginProperty Font 
  58.          Name            =   "MS Sans Serif"
  59.          Size            =   8.25
  60.          Charset         =   0
  61.          Weight          =   400
  62.          Underline       =   0   'False
  63.          Italic          =   0   'False
  64.          Strikethrough   =   0   'False
  65.       EndProperty
  66.       Height          =   420
  67.       Left            =   3240
  68.       TabIndex        =   0
  69.       Top             =   4440
  70.       Width           =   5220
  71.       Begin VB.CommandButton cmdClose 
  72.          Cancel          =   -1  'True
  73.          Caption         =   "关闭(&C)"
  74.          Height          =   420
  75.          Left            =   4020
  76.          TabIndex        =   4
  77.          Top             =   0
  78.          Width           =   1200
  79.       End
  80.       Begin VB.CommandButton cmdOpenLink 
  81.          Caption         =   "打开(&O)"
  82.          Height          =   420
  83.          Left            =   2640
  84.          TabIndex        =   3
  85.          Top             =   0
  86.          Width           =   1200
  87.       End
  88.       Begin VB.CommandButton cmdSelectAll 
  89.          Caption         =   "全选(&A)"
  90.          Height          =   420
  91.          Left            =   0
  92.          TabIndex        =   1
  93.          Top             =   0
  94.          Width           =   1200
  95.       End
  96.       Begin VB.CommandButton cmdSelectInvert 
  97.          Caption         =   "反选(&I)"
  98.          Height          =   420
  99.          Left            =   1260
  100.          TabIndex        =   2
  101.          Top             =   0
  102.          Width           =   1200
  103.       End
  104.    End
  105. End
  106. Attribute VB_Name = "frmSpPageList"
  107. Attribute VB_GlobalNameSpace = False
  108. Attribute VB_Creatable = False
  109. Attribute VB_PredeclaredId = True
  110. Attribute VB_Exposed = False
  111. Option Explicit
  112. Private Const TabCount As Long = 2
  113. Private WithEvents mFiltratePages As cFiltratePages
  114. Attribute mFiltratePages.VB_VarHelpID = -1
  115. Private WithEvents mCloasePages As cClosedPages
  116. Attribute mCloasePages.VB_VarHelpID = -1
  117. 'Private mPresentLvw As MSComctlLib.ListView
  118. Private WithEvents m_cTab As cTabControl32
  119. Attribute m_cTab.VB_VarHelpID = -1
  120. Private m_cLvwClosePage As cSysListView32
  121. Private m_cLvwFiltratePage As cSysListView32
  122. Private m_cLvwPres As cSysListView32
  123. Private Sub cmdClose_Click()
  124. Unload Me
  125. End Sub
  126. Private Sub cmdOpenLink_Click()
  127. On Error Resume Next
  128. Dim i&, tcnt&
  129. Select Case m_cTab.SelectIndex
  130.     Case 0  'close pages
  131.         tcnt = m_cLvwClosePage.GetItemCount
  132.         For i = 0 To tcnt - 1
  133.             If m_cLvwClosePage.GetCheckState(i) Then
  134.                 Call gMainForm.NewWebbrowser(mCloasePages.GetUrl(tcnt - i))
  135.             End If
  136.         Next i
  137.     Case 1 'filtrate pages
  138.         tcnt = m_cLvwFiltratePage.GetItemCount
  139.         For i = 0 To tcnt - 1
  140.             If m_cLvwFiltratePage.GetCheckState(i) Then
  141.                 gMainForm.NewWebbrowser (mFiltratePages.GetUrl(i + 1))
  142.             End If
  143.         Next i
  144. End Select
  145. 'Dim tLvwItem As MSComctlLib.ListItem
  146. 'Select Case m_cTab.GetSelected()
  147. '    Case 0  'close pages
  148. '        For Each tLvwItem In lvwClosePages.ListItems
  149. '            If tLvwItem.Checked Then
  150. '                Call gMainForm.NewWebbrowser(tLvwItem.SubItems(1))
  151. '            End If
  152. '        Next tLvwItem
  153. '    Case 1 'filtrate pages
  154. '        For Each tLvwItem In lvwFiltratePages.ListItems
  155. '            If tLvwItem.Checked Then
  156. '                Call gMainForm.NewWebbrowser(tLvwItem.Text)
  157. '            End If
  158. '        Next tLvwItem
  159. 'End Select
  160. 'Select Case TabStrip1.SelectedItem.index
  161. '    Case 1  'close pages
  162. '        For Each tLvwItem In lvwClosePages.ListItems
  163. '            If tLvwItem.Checked Then
  164. '                Call gMainForm.NewWebbrowser(tLvwItem.SubItems(1))
  165. '            End If
  166. '        Next tLvwItem
  167. '    Case 2  'filtrate pages
  168. '        For Each tLvwItem In lvwFiltratePages.ListItems
  169. '            If tLvwItem.Checked Then
  170. '                Call gMainForm.NewWebbrowser(tLvwItem.Text)
  171. '            End If
  172. '        Next tLvwItem
  173. 'End Select
  174. End Sub
  175. Private Sub cmdSelectAll_Click()
  176. Dim i&, tcnt&
  177. If Not m_cLvwPres Is Nothing Then
  178.     With m_cLvwPres
  179.         tcnt = m_cLvwPres.GetItemCount
  180.         For i = 0 To tcnt - 1
  181.             Call m_cLvwPres.CheckItem(True, i)
  182.         Next i
  183.     End With
  184. End If
  185. 'Dim tLvw As MSComctlLib.ListItem
  186. 'If Not mPresentLvw Is Nothing Then
  187. '    With mPresentLvw
  188. '        For Each tLvw In .ListItems
  189. '            tLvw.Checked = True
  190. '        Next tLvw
  191. '    End With
  192. 'End If
  193. End Sub
  194. Private Sub cmdSelectInvert_Click()
  195. Dim i&, tcnt&
  196. If Not m_cLvwPres Is Nothing Then
  197.     With m_cLvwPres
  198.         tcnt = m_cLvwPres.GetItemCount
  199.         For i = 0 To tcnt - 1
  200.             Call m_cLvwPres.CheckItem(Not m_cLvwPres.GetCheckState(i), i)
  201.         Next i
  202.     End With
  203. End If
  204. 'Dim tLvw As MSComctlLib.ListItem
  205. 'If Not mPresentLvw Is Nothing Then
  206. '    With mPresentLvw
  207. '        For Each tLvw In .ListItems
  208. '            tLvw.Checked = Not tLvw.Checked
  209. '        Next tLvw
  210. '    End With
  211. 'End If
  212. End Sub
  213. Private Sub Form_Load()
  214. Set m_cTab = CreateCmmCtrl(strCLSID_cTabControl32)   'New cTabControl32
  215. With m_cTab
  216.     .Create Me.hwnd, 0, 0, 0, 100, 100
  217.     .SetFont
  218.     .AddItem 0, "关闭的页面"
  219.     .AddItem 1, "被拦截的页面"
  220.     .SetToBottom
  221. End With
  222. 'With TabStrip1
  223. '    .Tabs.Clear
  224. '    .Tabs.Add , , "关闭的页面"
  225. '    .Tabs.Add , , "被拦截的页面"
  226. 'End With
  227. Set mFiltratePages = FiltratePages
  228. Set mCloasePages = ClosedPages
  229. Call Form_Resize
  230. Call iniClosePages
  231. Call iniFiltratePages
  232. 'Set mPresentLvw = lvwClosePages
  233. End Sub
  234. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  235. Set mCloasePages = Nothing
  236. Set mFiltratePages = Nothing
  237. Set m_cLvwClosePage = Nothing
  238. Set m_cLvwFiltratePage = Nothing
  239. Set m_cTab = Nothing
  240. End Sub
  241. Private Sub Form_Resize()
  242. On Error Resume Next
  243. Dim i&, tRc As mAPIs.RECT
  244. If Not m_cTab Is Nothing Then
  245.     m_cTab.Move 0, 0, Me.ScaleWidth / 15, (Me.ScaleHeight - 540) / 15
  246.     m_cTab.GetAdjustRect tRc.Left, tRc.Top, tRc.Right, tRc.Bottom
  247.     
  248.     tRc.Right = tRc.Right - tRc.Left
  249.     tRc.Bottom = tRc.Bottom - tRc.Top
  250.     
  251.     For i = 0 To TabCount - 1
  252.         MoveWindow pctTabs(i).hwnd, tRc.Left, tRc.Top, tRc.Right, tRc.Bottom, 1
  253.     Next i
  254.     
  255.     m_cLvwClosePage.Move 0, 0, tRc.Right, tRc.Bottom
  256.     'lvwClosePages.Move 0, 0, tRc.Right * 15, tRc.Bottom * 15
  257.     m_cLvwFiltratePage.Move 0, 0, tRc.Right, tRc.Bottom
  258.     'lvwFiltratePages.Move 0, 0, tRc.Right * 15, tRc.Bottom * 15
  259.     fraButtons.Move Me.ScaleWidth - fraButtons.Width - 60, Me.ScaleHeight - fraButtons.Height - 60
  260. End If
  261. 'With TabStrip1
  262. '    m_cTab.Move 0, 0, Me.ScaleWidth / 15, (Me.ScaleHeight - 540) / 15
  263. '    .Move 0, 0, Me.ScaleWidth, Me.ScaleHeight - 540
  264. '    For i = 0 To TabCount - 1
  265. '        fraTabs(i).Move .clientLeft, .clientTop, .clientWidth, .clientHeight
  266. '    Next i
  267. '    lvwClosePages.Move 0, 0, .clientWidth, .clientHeight
  268. '    lvwFiltratePages.Move 0, 0, .clientWidth, .clientHeight
  269. 'End With
  270. 'fraButtons.Move Me.ScaleWidth - fraButtons.Width - 60, Me.ScaleHeight - fraButtons.Height - 60
  271. End Sub
  272. Private Sub iniClosePages()
  273. Set m_cLvwClosePage = CreateCmmCtrl(strCLSID_cSysListView32)  ' New cSysListView32
  274. With m_cLvwClosePage
  275.     .Create pctTabs(0).hwnd, LVS_REPORT Or LVS_SHOWSELALWAYS Or LVS_SINGLESEL, _
  276.         LVS_EX_FULLROWSELECT Or LVS_EX_CHECKBOXES, 0, 0, Me.ScaleWidth / 15, 100
  277.     .AddColumn 0, "标题", Me.ScaleWidth / 15 / 2
  278.     .AddColumn 1, "地址", Me.ScaleWidth / 15 / 2 - 4
  279. End With
  280. 'With lvwClosePages
  281. '    .ColumnHeaders.Add , , "标题"
  282. '    .ColumnHeaders.Add , , "地址"
  283. '    .ColumnHeaders(1).Width = .Width / 2
  284. '    .ColumnHeaders(2).Width = .Width / 2 - 60
  285. '
  286. 'End With
  287. Call RefreshClosepages
  288. 'With lvwClosePages
  289. '    .ColumnHeaders.Add , , "标题"
  290. '    .ColumnHeaders.Add , , "地址"
  291. '    .ColumnHeaders(1).Width = .Width / 2
  292. '    .ColumnHeaders(2).Width = .Width / 2 - 60
  293. '
  294. 'End With
  295. 'Call RefreshClosepages
  296. End Sub
  297. '更新关闭页面信息
  298. Private Sub RefreshClosepages()
  299. Dim i& ', tLstItem As MSComctlLib.ListItem
  300. Dim tUrls() As String, tTitles() As String, tcnt&
  301. m_cLvwClosePage.ClearItem
  302. mCloasePages.GetClosePages tUrls, tTitles, tcnt
  303. For i = 1 To tcnt
  304.     m_cLvwClosePage.AddItem tTitles(i), 0
  305.     m_cLvwClosePage.SetItemText tUrls(i), 0, 1
  306. Next i
  307.     
  308. 'Dim i&, tLstItem As MSComctlLib.ListItem
  309. 'Dim tUrls() As String, tTitles() As String, tcnt&
  310. '
  311. 'lvwClosePages.ListItems.Clear
  312. 'mCloasePages.GetClosePages tUrls, tTitles, tcnt
  313. '
  314. 'With lvwClosePages
  315. '    For i = tcnt To 1 Step -1
  316. '        Set tLstItem = .ListItems.Add(, , tTitles(i))
  317. '        tLstItem.SubItems(1) = tUrls(i)
  318. '    Next i
  319. 'End With
  320. End Sub
  321. Private Sub iniFiltratePages()
  322. Dim i&, tcnt&
  323. Dim tPU$, tUrl$
  324. Set m_cLvwFiltratePage = CreateCmmCtrl(strCLSID_cSysListView32)  ' New cSysListView32
  325. With m_cLvwFiltratePage
  326.     .Create pctTabs(1).hwnd, LVS_REPORT Or LVS_SHOWSELALWAYS Or LVS_SINGLESEL, _
  327.         LVS_EX_CHECKBOXES Or LVS_EX_FULLROWSELECT, 0, 0, Me.ScaleWidth / 15, 100
  328.     .AddColumn 0, "地址", Me.ScaleWidth / 2 / 15
  329.     .AddColumn 1, "出处", Me.ScaleWidth / 2 / 15 - 4
  330.     
  331.     tcnt = mFiltratePages.Count
  332.     For i = 1 To tcnt
  333.         mFiltratePages.Item i, tPU, tUrl
  334.         .AddItem tUrl, i - 1
  335.         .SetItemText tPU, i - 1, 1
  336.     Next i
  337. End With
  338. 'Dim i&, tcnt&, tLstItem As MSComctlLib.ListItem
  339. 'Dim tPU$, tUrl$
  340. 'With lvwFiltratePages
  341. '    .ColumnHeaders.Add , , "地址"
  342. '    .ColumnHeaders.Add , , "出处"
  343. '    .ColumnHeaders(1).Width = .Width / 2
  344. '    .ColumnHeaders(2).Width = .Width / 2 - 60
  345. '
  346. '    tcnt = mFiltratePages.Count
  347. '    For i = 1 To tcnt
  348. '        mFiltratePages.Item i, tPU, tUrl
  349. '        Set tLstItem = .ListItems.Add(, , tUrl)
  350. '        tLstItem.SubItems(1) = tPU
  351. '    Next i
  352. 'End With
  353. End Sub
  354. Private Sub m_cTab_Changed(vPos As Long)
  355. Dim i&, tIndex&
  356. tIndex = vPos
  357. For i = 0 To TabCount - 1
  358.     If tIndex = i Then
  359.         pctTabs(i).Visible = True
  360.         pctTabs(i).ZOrder
  361.     Else
  362.         pctTabs(i).Visible = False
  363.     End If
  364. Next i
  365. Select Case tIndex
  366.     Case 0  'close pages
  367.         Set m_cLvwPres = m_cLvwClosePage
  368.     Case 1  'filtrate pages
  369.         Set m_cLvwPres = m_cLvwFiltratePage
  370.     Case Else
  371.         Set m_cLvwPres = Nothing
  372. End Select
  373. 'Select Case tIndex
  374. '    Case 0  'close pages
  375. '        Set mPresentLvw = lvwClosePages
  376. '    Case 1  'filtrate pages
  377. '        Set mPresentLvw = lvwFiltratePages
  378. '    Case Else
  379. '        Set mPresentLvw = Nothing
  380. 'End Select
  381. End Sub
  382. Private Sub mCloasePages_eChange()
  383. Call RefreshClosepages
  384. End Sub
  385. Private Sub mFiltratePages_eAdd(nParentUrl As String, nUrl As String)
  386. If Not m_cLvwFiltratePage Is Nothing Then
  387.     m_cLvwFiltratePage.SetItemText nParentUrl, _
  388.         m_cLvwFiltratePage.AddItem(nUrl), 1
  389.     
  390. End If
  391. 'Dim tLstItem As MSComctlLib.ListItem
  392. 'Set tLstItem = lvwFiltratePages.ListItems.Add(, , nUrl)
  393. 'tLstItem.SubItems(1) = nParentUrl
  394. End Sub
  395. 'Private Sub TabStrip1_Click()
  396. 'Dim i&, tIndex&
  397. 'With TabStrip1
  398. '    tIndex = .SelectedItem.index
  399. '    For i = 0 To TabCount - 1
  400. '        If tIndex - 1 = i Then
  401. '            fraTabs(i).Visible = True
  402. '        Else
  403. '            fraTabs(i).Visible = False
  404. '        End If
  405. '    Next i
  406. 'End With
  407. '
  408. 'Select Case tIndex
  409. '    Case 1  'close pages
  410. '        Set mPresentLvw = lvwClosePages
  411. '    Case 2  'filtrate pages
  412. '        Set mPresentLvw = lvwFiltratePages
  413. '    Case Else
  414. '        Set mPresentLvw = Nothing
  415. 'End Select
  416. 'End Sub