mainform.frm
上传用户:dohkov
上传日期:2007-06-18
资源大小:35k
文件大小:32k
源码类别:

家庭/个人应用

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Object = "{3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0"; "RICHTX32.OCX"
  4. Begin VB.Form MainForm 
  5.    Caption         =   "光盘管家 1.01"
  6.    ClientHeight    =   5265
  7.    ClientLeft      =   165
  8.    ClientTop       =   450
  9.    ClientWidth     =   8085
  10.    Icon            =   "mainform.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   5265
  13.    ScaleWidth      =   8085
  14.    StartUpPosition =   3  '窗口缺省
  15.    Begin VB.PictureBox Picture1 
  16.       Height          =   4335
  17.       Left            =   2160
  18.       MousePointer    =   9  'Size W E
  19.       ScaleHeight     =   4335
  20.       ScaleWidth      =   45
  21.       TabIndex        =   2
  22.       Top             =   840
  23.       Width           =   50
  24.    End
  25.    Begin RichTextLib.RichTextBox RichTextBox1 
  26.       Height          =   1000
  27.       Left            =   2280
  28.       TabIndex        =   6
  29.       Top             =   3840
  30.       Width           =   5655
  31.       _ExtentX        =   9975
  32.       _ExtentY        =   1773
  33.       _Version        =   393217
  34.       Enabled         =   -1  'True
  35.       ReadOnly        =   -1  'True
  36.       ScrollBars      =   3
  37.       TextRTF         =   $"mainform.frx":0442
  38.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  39.          Name            =   "宋体"
  40.          Size            =   9.75
  41.          Charset         =   134
  42.          Weight          =   400
  43.          Underline       =   0   'False
  44.          Italic          =   0   'False
  45.          Strikethrough   =   0   'False
  46.       EndProperty
  47.    End
  48.    Begin MSComctlLib.Toolbar Toolbar1 
  49.       Align           =   1  'Align Top
  50.       Height          =   510
  51.       Left            =   0
  52.       TabIndex        =   3
  53.       Top             =   0
  54.       Width           =   8085
  55.       _ExtentX        =   14261
  56.       _ExtentY        =   900
  57.       ButtonWidth     =   1138
  58.       ButtonHeight    =   847
  59.       AllowCustomize  =   0   'False
  60.       Appearance      =   1
  61.       Style           =   1
  62.       ImageList       =   "ImageList1"
  63.       _Version        =   393216
  64.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  65.          NumButtons      =   10
  66.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  67.             Style           =   3
  68.          EndProperty
  69.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  70.             Caption         =   "增加"
  71.             Key             =   "add"
  72.             Object.ToolTipText     =   "增加一张新的光盘"
  73.             ImageIndex      =   4
  74.          EndProperty
  75.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  76.             Style           =   3
  77.          EndProperty
  78.          BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  79.             Caption         =   "查找"
  80.             Key             =   "find"
  81.             Object.ToolTipText     =   "查找文件夹或文件"
  82.             ImageIndex      =   5
  83.          EndProperty
  84.          BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  85.             Style           =   3
  86.          EndProperty
  87.          BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  88.             Caption         =   "备份"
  89.             Key             =   "backup"
  90.             Object.ToolTipText     =   "将光盘库备份至软盘或硬盘"
  91.             ImageIndex      =   6
  92.          EndProperty
  93.          BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  94.             Caption         =   "恢复"
  95.             Key             =   "restore"
  96.             Object.ToolTipText     =   "从软盘或硬盘中读入光盘库"
  97.             ImageIndex      =   7
  98.          EndProperty
  99.          BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  100.             Style           =   3
  101.          EndProperty
  102.          BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  103.             Caption         =   " 帮助 "
  104.             Key             =   "help"
  105.             ImageIndex      =   8
  106.          EndProperty
  107.          BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  108.             Style           =   3
  109.          EndProperty
  110.       EndProperty
  111.       BorderStyle     =   1
  112.       Begin MSComctlLib.ImageList ImageList1 
  113.          Left            =   6600
  114.          Top             =   0
  115.          _ExtentX        =   1005
  116.          _ExtentY        =   1005
  117.          BackColor       =   -2147483643
  118.          ImageWidth      =   13
  119.          ImageHeight     =   13
  120.          MaskColor       =   12632256
  121.          _Version        =   393216
  122.          BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
  123.             NumListImages   =   10
  124.             BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  125.                Picture         =   "mainform.frx":06CC
  126.                Key             =   ""
  127.             EndProperty
  128.             BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  129.                Picture         =   "mainform.frx":0B20
  130.                Key             =   ""
  131.             EndProperty
  132.             BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  133.                Picture         =   "mainform.frx":0C1C
  134.                Key             =   ""
  135.             EndProperty
  136.             BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  137.                Picture         =   "mainform.frx":0D18
  138.                Key             =   ""
  139.             EndProperty
  140.             BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  141.                Picture         =   "mainform.frx":0E2C
  142.                Key             =   ""
  143.             EndProperty
  144.             BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  145.                Picture         =   "mainform.frx":0F40
  146.                Key             =   ""
  147.             EndProperty
  148.             BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  149.                Picture         =   "mainform.frx":1394
  150.                Key             =   ""
  151.             EndProperty
  152.             BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  153.                Picture         =   "mainform.frx":17E8
  154.                Key             =   ""
  155.             EndProperty
  156.             BeginProperty ListImage9 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  157.                Picture         =   "mainform.frx":18FC
  158.                Key             =   ""
  159.             EndProperty
  160.             BeginProperty ListImage10 {2C247F27-8591-11D1-B16A-00C0F0283628} 
  161.                Picture         =   "mainform.frx":1D50
  162.                Key             =   ""
  163.             EndProperty
  164.          EndProperty
  165.       End
  166.    End
  167.    Begin MSComctlLib.TreeView TreeView2 
  168.       Height          =   2775
  169.       Left            =   2280
  170.       TabIndex        =   1
  171.       Top             =   840
  172.       Width           =   5655
  173.       _ExtentX        =   9975
  174.       _ExtentY        =   4895
  175.       _Version        =   393217
  176.       HideSelection   =   0   'False
  177.       Indentation     =   529
  178.       LabelEdit       =   1
  179.       LineStyle       =   1
  180.       Style           =   7
  181.       ImageList       =   "ImageList1"
  182.       Appearance      =   1
  183.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  184.          Name            =   "宋体"
  185.          Size            =   9
  186.          Charset         =   134
  187.          Weight          =   400
  188.          Underline       =   0   'False
  189.          Italic          =   0   'False
  190.          Strikethrough   =   0   'False
  191.       EndProperty
  192.    End
  193.    Begin MSComctlLib.TreeView TreeView1 
  194.       Height          =   4575
  195.       Left            =   0
  196.       TabIndex        =   0
  197.       Top             =   720
  198.       Width           =   2175
  199.       _ExtentX        =   3836
  200.       _ExtentY        =   8070
  201.       _Version        =   393217
  202.       HideSelection   =   0   'False
  203.       Indentation     =   529
  204.       LabelEdit       =   1
  205.       LineStyle       =   1
  206.       Style           =   7
  207.       ImageList       =   "ImageList1"
  208.       BorderStyle     =   1
  209.       Appearance      =   1
  210.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  211.          Name            =   "宋体"
  212.          Size            =   9
  213.          Charset         =   134
  214.          Weight          =   400
  215.          Underline       =   0   'False
  216.          Italic          =   0   'False
  217.          Strikethrough   =   0   'False
  218.       EndProperty
  219.    End
  220.    Begin VB.Label Label2 
  221.       AutoSize        =   -1  'True
  222.       Caption         =   "光盘描述"
  223.       Height          =   180
  224.       Left            =   2280
  225.       TabIndex        =   5
  226.       Top             =   3650
  227.       Width           =   720
  228.    End
  229.    Begin VB.Label Label1 
  230.       Caption         =   "文件列表框"
  231.       Height          =   180
  232.       Left            =   2280
  233.       TabIndex        =   4
  234.       Top             =   600
  235.       Width           =   5820
  236.    End
  237.    Begin VB.Menu mnuStyleRightButtonMenu 
  238.       Caption         =   "分类右键菜单"
  239.       Visible         =   0   'False
  240.       Begin VB.Menu mnuStyleFind 
  241.          Caption         =   "查找..."
  242.       End
  243.       Begin VB.Menu mnuAddStyle 
  244.          Caption         =   "增加类别"
  245.       End
  246.       Begin VB.Menu mnuDeleteStyle 
  247.          Caption         =   "删除类别"
  248.       End
  249.       Begin VB.Menu mnuRenameStyle 
  250.          Caption         =   "重命名类别"
  251.       End
  252.    End
  253.    Begin VB.Menu mnuCdromRightButtonMenu 
  254.       Caption         =   "光盘右键菜单"
  255.       Visible         =   0   'False
  256.       Begin VB.Menu mnuCdromFind 
  257.          Caption         =   "查找..."
  258.       End
  259.       Begin VB.Menu mnuAddCdrom 
  260.          Caption         =   "增加光盘"
  261.       End
  262.       Begin VB.Menu mnuDeleteCdrom 
  263.          Caption         =   "删除光盘"
  264.       End
  265.       Begin VB.Menu mnuRenameCdrom 
  266.          Caption         =   "重命名光盘"
  267.       End
  268.       Begin VB.Menu mnuCdromMove 
  269.          Caption         =   "移至..."
  270.       End
  271.       Begin VB.Menu mnuCdromEditMx 
  272.          Caption         =   "修改描述文本"
  273.       End
  274.    End
  275.    Begin VB.Menu mnuFindResult 
  276.       Caption         =   "查找结果"
  277.       Visible         =   0   'False
  278.       Begin VB.Menu mnuFindResultDelete 
  279.          Caption         =   "删除查找结果"
  280.       End
  281.    End
  282. End
  283. Attribute VB_Name = "MainForm"
  284. Attribute VB_GlobalNameSpace = False
  285. Attribute VB_Creatable = False
  286. Attribute VB_PredeclaredId = True
  287. Attribute VB_Exposed = False
  288. Public CdromText As String
  289. Public bMouseDown As Boolean
  290. Private Sub Form_Load()
  291. CencerForm Me
  292. TreeView1.Top = Toolbar1.Height + 10
  293. TreeView1.Left = 10
  294. Label2.Top = 520 + Label1.Height + TreeView2.Height + 100
  295. RichTextBox1.Top = 520 + Label1.Height + TreeView2.Height + Label2.Height + 300
  296. Picture1.Left = TreeView1.Width
  297. Picture1.Top = TreeView1.Top
  298. TreeView2.Left = TreeView1.Width + Picture1.Width
  299. Label1.Left = TreeView2.Left
  300. RichTextBox1.Left = TreeView2.Left
  301. Label2.Left = TreeView2.Left
  302. bMouseDown = False
  303. TreeView1.Nodes.Add , , "光盘库", "光盘库", 9
  304. Open "cdrom.cds" For Input As #1
  305. Do While Not EOF(1)
  306. Line Input #1, cdroms
  307. If Left(cdroms, 3) = "光盘库" Then
  308.     TreeView1.Nodes.Add "光盘库", tvwChild, cdroms, Mid(cdroms, 4), 3, 2
  309. End If
  310. If Left(cdroms, 3) = "子光盘" Then
  311.    Dim Pos As Single
  312.    Dim SubCdromName As String, CdromStyle As String
  313.    Pos = InStr(1, cdroms, "@@@@@***##")
  314.    If Pos > 0 Then
  315.       Pos = Pos + 10
  316.       SubCdromName = Mid(cdroms, Pos)
  317.       CdromStyle = Mid(cdroms, 4, Pos - 14)
  318.       Set nox = TreeView1.Nodes.Add(CdromStyle, tvwChild, "子光盘" + CdromStyle + "@@@@@***##" + SubCdromName, SubCdromName)
  319.       nox.Image = 1
  320.    End If
  321. End If
  322. skey = "@@@@@***##查找结果@@@@@***##"
  323. If cdroms = skey Then
  324.    TreeView1.Nodes.Add , , cdroms, "查找结果", 5
  325. End If
  326. If Left(cdroms, 24) = skey And Len(cdroms) > 24 Then
  327.    TreeView1.Nodes.Add skey, tvwChild, cdroms, Mid(cdroms, 25), 1
  328. End If
  329. Loop
  330. Close 1
  331. TreeView1.Nodes(1).Expanded = True
  332. End Sub
  333. Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  334. If UnloadMode = 2 Or UnloadMode = 3 Then
  335.    WriteToDisk
  336.    MsgBox "不能这样退出程序,会造成数据文件的丢失!", vbCritical
  337.    Cancel = True
  338.    Exit Sub
  339. End If
  340. If vbYes = MsgBox("是否真的要退出?", vbQuestion + vbYesNo) Then
  341.   WriteToDisk
  342.   Cancel = False
  343. Else
  344.   Cancel = True
  345. End If
  346. End Sub
  347. Private Sub Form_Resize()
  348. If Me.WindowState <> 1 Then
  349. If Me.Width - TreeView1.Left - TreeView1.Width - Picture1.Width - 180 > 1800 Then
  350.    TreeView2.Width = Me.Width - TreeView1.Left - TreeView1.Width - Picture1.Width - 130
  351.    Label1.Width = TreeView2.Width
  352.    RichTextBox1.Width = TreeView2.Width
  353. Else
  354.    TreeView2.Width = 1800
  355.    Label1.Width = 1800
  356.    Me.Width = TreeView1.Width + TreeView1.Left + Picture1.Width + TreeView2.Width + 130
  357.    RichTextBox1.Width = 1800
  358. End If
  359. If Me.Height - 2000 < 1800 Then
  360.    Me.Height = 2000 + 1800
  361. End If
  362. TreeView1.Height = Me.Height - 520 - 475
  363. TreeView2.Height = TreeView1.Height - RichTextBox1.Height - Label2.Height - Label1.Height - 220
  364. Picture1.Height = TreeView1.Height
  365. Label2.Top = 520 + Label1.Height + TreeView2.Height + 200
  366. RichTextBox1.Top = 520 + Label1.Height + TreeView2.Height + Label2.Height + 250
  367. End If
  368. End Sub
  369. Private Sub mnuAddCdrom_Click()
  370.             If TreeView1.Nodes(1).Children <= 0 Then
  371.                MsgBox "没有光盘类别,请先添加光盘类别!", vbExclamation
  372.                Exit Sub
  373.             End If
  374. reinput:
  375.             CdromName = InputBox("请给要新增的光盘取个名:" + Chr(13) + Chr(13) + "(一般为光盘正面的标签文字,以方便查找!)")
  376.             CdromName = Trim(CdromName)
  377.             If Trim(CdromName) <> "" Then
  378.                For i = 1 To TreeView1.Nodes.Count
  379.                    If Left(TreeView1.Nodes(i).Key, 24) <> "@@@@@***##查找结果@@@@@***##" Then
  380.                    If Trim(CdromName) = TreeView1.Nodes.Item(i) Then
  381.                        MsgBox "光盘 " + Chr(34) + CdromName + Chr(34) + " 已存在光盘库中" + Chr(13) + Chr(13) + "请重新输入光盘名或按<取消>结束!", vbExclamation
  382.                        GoTo reinput
  383.                    End If
  384.                    End If
  385.                Next
  386.                Load AddCdrom
  387.                AddCdrom.Show vbModal
  388.                WriteToDisk
  389.             End If
  390. End Sub
  391. Private Sub mnuAddStyle_Click()
  392. reinput:
  393. Dim AddStyle As String
  394. AddStyle = InputBox("请输入新增加的类别名:")
  395. If Trim(AddStyle) <> "" Then
  396.    For i = 1 To TreeView1.Nodes.Count
  397.      If Left(TreeView1.Nodes(i).Key, 24) <> "@@@@@***##查找结果@@@@@***##" Then
  398.        If Trim(AddStyle) = TreeView1.Nodes.Item(i).Text Then
  399.           MsgBox "光盘库中已有类别或光盘 " + Chr(34) + AddStyle + Chr(34) + Chr(13) + Chr(13) + "请重新输入类别名,或按<取消>结束!", vbExclamation
  400.           GoTo reinput
  401.        End If
  402.     End If
  403.    Next
  404.    Set nox = TreeView1.Nodes.Add("光盘库", tvwChild, "光盘库" + Trim(AddStyle), Trim(AddStyle))
  405.    nox.Image = 3
  406.    WriteToDisk
  407. End If
  408. End Sub
  409. Private Sub mnuCdromEditMx_Click()
  410. CdromText = RichTextBox1.Text
  411. RichTextBox1.Locked = False
  412. RichTextBox1.SetFocus
  413. End Sub
  414. Private Sub mnuCdromFind_Click()
  415. Info = "(" + TreeView1.SelectedItem.Parent.Text + ") " + TreeView1.SelectedItem.Text
  416. CdromName = TreeView1.SelectedItem.Text
  417. Load Find
  418. Find.Show vbModal
  419. WriteToDisk
  420. End Sub
  421. Private Sub mnuCdromMove_Click()
  422. If TreeView1.Nodes(1).Children > 1 Then
  423.    Load CdromRemoveTo
  424.    CdromRemoveTo.Show vbModal
  425.    WriteToDisk
  426. Else
  427.    MsgBox "没有其它类别供移动!", vbExclamation
  428. End If
  429. End Sub
  430. Private Sub mnuDeleteCdrom_Click()
  431.    If vbYes = MsgBox("是否真的要删除光盘 " + Chr(34) + TreeView1.SelectedItem + Chr(34), vbQuestion + vbYesNo) Then
  432.       DeleteCdrom
  433.    End If
  434. End Sub
  435. Private Sub mnuDeleteStyle_Click()
  436. If TreeView1.SelectedItem.Text <> "光盘库" Then
  437.    If vbYes = MsgBox("是否真的要删除类别 " + Chr(34) + TreeView1.SelectedItem + Chr(34), vbQuestion + vbYesNo) Then
  438.       For i = 2 To TreeView1.Nodes.Count
  439.           If TreeView1.Nodes.Item(i).Key = TreeView1.SelectedItem.Key Then
  440.              Exit For
  441.           End If
  442.       Next
  443.       If TreeView1.Nodes(i).Children > 0 Then
  444.          Set nox = TreeView1.Nodes(i).Child
  445.          For j = 1 To TreeView1.Nodes(i).Children
  446.              If Dir(nox.Text + ".cdo") <> "" Then
  447.                 Kill nox.Text + ".cdo"
  448.              End If
  449.              If Dir(nox.Text + ".mx") <> "" Then
  450.                 Kill nox.Text + ".mx"
  451.              End If
  452.              Set nox = nox.Next
  453.          Next
  454.       End If
  455.       TreeView1.Nodes.Remove i
  456.       TreeView2.Nodes.Clear
  457.       WriteToDisk
  458.       RichTextBox1.Text = ""
  459.    End If
  460. Else
  461.    MsgBox "不能删除主键 " + Chr(34) + "光盘库" + Chr(34), vbExclamation
  462. End If
  463. End Sub
  464. Private Sub mnuFindResultDelete_Click()
  465. If vbNo = MsgBox("是否要删除 " + Mid(mnuFindResultDelete.Caption, 3) + "     ", vbQuestion + vbYesNo) Then
  466.    Exit Sub
  467. End If
  468. mykey = "@@@@@***##查找结果@@@@@***##"
  469. If Left(TreeView1.SelectedItem.Key, 24) = mykey And Len(TreeView1.SelectedItem.Key) > 24 Then
  470.    If Dir(TreeView1.SelectedItem.Text + ".fnd") <> "" Then
  471.       Kill TreeView1.SelectedItem.Text + ".fnd"
  472.    End If
  473.    For i = 1 To TreeView1.Nodes.Count
  474.        If TreeView1.Nodes(i).Key = TreeView1.SelectedItem.Key Then
  475.           TreeView1.Nodes.Remove i
  476.           TreeView2.Nodes.Clear
  477.           Exit For
  478.        End If
  479.    Next
  480.    WriteToDisk
  481.    Exit Sub
  482. End If
  483. If TreeView1.SelectedItem.Key = mykey Then
  484.     sfiles = Dir("*.fnd")
  485.     Do While sfiles <> ""
  486.        Kill sfiles
  487.        sfiles = Dir
  488.     Loop
  489. End If
  490.   For i = 1 To TreeView1.Nodes.Count
  491.        If TreeView1.Nodes(i).Key = mykey Then
  492.           TreeView1.Nodes.Remove i
  493.           TreeView2.Nodes.Clear
  494.           MainForm.Toolbar1.Buttons("find").Enabled = True
  495.           Exit For
  496.        End If
  497.    Next
  498.    WriteToDisk
  499. End Sub
  500. Private Sub mnuRenameCdrom_Click()
  501. reinput:
  502.       Dim RenameCdrom As String
  503.       RenameCdrom = InputBox("光盘 " + Chr(34) + TreeView1.SelectedItem.Text + Chr(34) + " 重命名为:", , TreeView1.SelectedItem.Text)
  504.       If Trim(RenameCdrom) <> "" Then
  505.          For i = 1 To TreeView1.Nodes.Count
  506.            If Left(TreeView1.Nodes(i).Key, 24) <> "@@@@@***##查找结果@@@@@***##" Then
  507.              If Trim(RenameCdrom) = TreeView1.Nodes.Item(i).Text Then
  508.                 MsgBox "光盘库中已有光盘或类别 " + Chr(34) + RenameCdrom + Chr(34) + Chr(13) + Chr(13) + "请重新输入光盘名!或按<取消>结束", vbExclamation
  509.                 GoTo reinput
  510.              End If
  511.            End If
  512.          Next
  513.          If Dir(RenameCdrom + ".cdo") <> "" Then
  514.             If vbNo = MsgBox("光盘镜像文件 " + RenameCdrom + " 已存在!是否真的要覆盖?", vbYesNo + vbQuestion) Then
  515.                Exit Sub
  516.             End If
  517.             Kill RenameCdrom + ".cdo"
  518.          End If
  519.          If Dir(RenameCdrom + ".mx") <> "" Then
  520.             Kill RenameCdrom + ".mx"
  521.          End If
  522.          If Dir(TreeView1.SelectedItem.Text + ".cdo") <> "" Then
  523.             Name TreeView1.SelectedItem.Text + ".cdo" As RenameCdrom + ".cdo"
  524.          End If
  525.          
  526.          If Dir(TreeView1.SelectedItem.Text + ".mx") <> "" Then
  527.             Name TreeView1.SelectedItem.Text + ".mx" As RenameCdrom + ".mx"
  528.          End If
  529.          TreeView1.SelectedItem.Text = Trim(RenameCdrom)
  530.          TreeView1.SelectedItem.Key = "子光盘" + TreeView1.SelectedItem.Parent.Key + "@@@@@***##" + Trim(RenameCdrom)
  531.          WriteToDisk
  532.       End If
  533. End Sub
  534. Private Sub mnuRenameStyle_Click()
  535. If TreeView1.SelectedItem.Text <> "光盘库" Then
  536. reinput:
  537.       Dim RenameStyle As String
  538.       RenameStyle = InputBox("类别 " + Chr(34) + TreeView1.SelectedItem.Text + Chr(34) + " 重命名为:", , TreeView1.SelectedItem.Text)
  539.       If Trim(RenameStyle) <> "" Then
  540.          For i = 1 To TreeView1.Nodes.Count
  541.            If Left(TreeView1.Nodes(i).Key, 24) <> "@@@@@***##查找结果@@@@@***##" Then
  542.              If Trim(RenameStyle) = TreeView1.Nodes.Item(i) Then
  543.                 MsgBox "光盘库中已有类别或光盘 " + Chr(34) + RenameStyle + Chr(34) + Chr(13) + Chr(13) + "请重新输入类别名!或按<取消>结束", vbExclamation
  544.                 GoTo reinput
  545.              End If
  546.            End If
  547.          Next
  548.          Set nox = TreeView1.SelectedItem.Child
  549.          For i = 1 To TreeView1.SelectedItem.Children
  550.              nox.Key = "子光盘光盘库" + RenameStyle + "@@@@@***##" + nox.Text
  551.              Set nox = nox.Next
  552.          Next
  553.          TreeView1.SelectedItem.Text = Trim(RenameStyle)
  554.          TreeView1.SelectedItem.Key = "光盘库" + Trim(RenameStyle)
  555.          WriteToDisk
  556.       End If
  557. Else
  558.    MsgBox "不能重命名主键 " + Chr(34) + "光盘库" + Chr(34), vbExclamation
  559. End If
  560. End Sub
  561. Private Sub mnuStyleFind_Click()
  562. If TreeView1.SelectedItem.Text = "光盘库" Then
  563.    havecdrom = False
  564.    Dim noddx As Node
  565.    Set noddx = TreeView1.SelectedItem.Child
  566.    For i = 1 To TreeView1.SelectedItem.Children
  567.        If noddx.Children Then
  568.           havecdrom = True
  569.           Exit For
  570.       End If
  571.          Set noddx = noddx.Next
  572.    Next
  573.    If havecdrom Then
  574.       CdromName = "光盘库"
  575.       Info = "整个光盘库"
  576.    Else
  577.       MsgBox "整个光盘库中没有光盘,用不着查找!", vbInformation
  578.       Exit Sub
  579.    End If
  580. Else
  581.    If TreeView1.SelectedItem.Parent.Text = "光盘库" Then
  582.       If TreeView1.SelectedItem.Children < 1 Then
  583.          MsgBox "类别(" + TreeView1.SelectedItem.Text + ")中没有光盘,用不着查找!", vbInformation
  584.          Exit Sub
  585.       End If
  586.       Info = "类别 (" + TreeView1.SelectedItem.Text + ")"
  587.       CdromName = TreeView1.SelectedItem.Text
  588.    End If
  589. End If
  590. Load Find
  591. Find.Show vbModal
  592. WriteToDisk
  593. End Sub
  594. Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  595. bMouseDown = True
  596. End Sub
  597. Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  598. If bMouseDown Then
  599.    Me.Picture1.Move Me.Picture1.Left + X
  600. End If
  601. End Sub
  602. Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  603. bMouseDown = False
  604. If Me.Picture1.Left < 1500 Then
  605.    Me.Picture1.Left = 1500
  606. End If
  607. If Me.Picture1.Left > Me.Width - 1680 Then
  608.    Me.Picture1.Left = Me.Width - 1680
  609. End If
  610. TreeView1.Width = Me.Picture1.Left
  611. TreeView2.Left = Picture1.Left + Picture1.Width
  612. Label1.Left = TreeView2.Left
  613. Label2.Left = Label1.Left
  614. RichTextBox1.Left = Label1.Left
  615. TreeView2.Width = Me.Width - TreeView1.Left - TreeView1.Width - Picture1.Width - 180
  616. RichTextBox1.Width = TreeView2.Width
  617. End Sub
  618. Private Sub richtextbox1_LostFocus()
  619. If RichTextBox1.Text <> CdromText Then
  620.    If RichTextBox1.Locked = False Then
  621.       If vbNo = MsgBox("描述文本已修改,是否保存新描述文本!", vbQuestion + vbYesNo) Then
  622.          RichTextBox1.Text = CdromText
  623.       End If
  624.       RichTextBox1.Locked = True
  625.       RichTextBox1.SaveFile TreeView1.SelectedItem.Text + ".mx"
  626.    End If
  627. End If
  628. End Sub
  629. Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
  630. Select Case Button.Key
  631.        Case "backup"
  632.            Load Backup2
  633.            Backup2.Show vbModal
  634.        Case "restore"
  635.               Load Restore
  636.               Restore.Show vbModal
  637.        Case "add"
  638.            mnuAddCdrom_Click
  639.        Case "help"
  640.            Load frmAbout
  641.            frmAbout.Show vbModal
  642.        Case "find"
  643.            If TreeView1.SelectedItem.Text = "光盘库" Then
  644.               havecdrom = False
  645.               Dim nodddx As Node
  646.               Set nodddx = TreeView1.SelectedItem.Child
  647.               For i = 1 To TreeView1.SelectedItem.Children
  648.                   If nodddx.Children Then
  649.                      havecdrom = True
  650.                      Exit For
  651.                   End If
  652.                   Set nodddx = nodddx.Next
  653.               Next
  654.               If havecdrom Then
  655.                  CdromName = "光盘库"
  656.                  Info = "整个光盘库"
  657.               Else
  658.                  MsgBox "整个光盘库中没有光盘,用不着查找!", vbInformation
  659.                  Exit Sub
  660.               End If
  661.            Else
  662.               If TreeView1.SelectedItem.Parent.Text = "光盘库" Then
  663.                  If TreeView1.SelectedItem.Children < 1 Then
  664.                     MsgBox "类别(" + TreeView1.SelectedItem.Text + ")中没有光盘,用不着查找!", vbInformation
  665.                     Exit Sub
  666.                  End If
  667.                  CdromName = TreeView1.SelectedItem.Text
  668.                  Info = "类别 (" + TreeView1.SelectedItem.Text + ")"
  669.               Else
  670.                  CdromName = TreeView1.SelectedItem.Text
  671.                  Info = "(" + TreeView1.SelectedItem.Parent.Text + ") " + TreeView1.SelectedItem.Text
  672.               End If
  673.           End If
  674.           Load Find
  675.           Find.Show vbModal
  676.           WriteToDisk
  677. End Select
  678. End Sub
  679. Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  680. If Button = vbRightButton Then
  681.  If TreeView1.SelectedItem.Key = "@@@@@***##查找结果@@@@@***##" Then
  682.     mnuFindResultDelete.Caption = "删除 查找结果"
  683.     PopupMenu mnuFindResult
  684.     Exit Sub
  685.  End If
  686.  If Left(TreeView1.SelectedItem.Key, 24) = "@@@@@***##查找结果@@@@@***##" And Len(TreeView1.SelectedItem.Key) > 24 Then
  687.     mnuFindResultDelete.Caption = "删除光盘 " + TreeView1.SelectedItem.Text + " 的查找结果"
  688.     PopupMenu mnuFindResult
  689.  Else
  690.    If TreeView1.SelectedItem.Key = "光盘库" Then
  691.       mnuDeleteStyle.Enabled = False
  692.       mnuRenameStyle.Enabled = False
  693.       PopupMenu mnuStyleRightButtonMenu
  694.       Exit Sub
  695.    End If
  696.    If TreeView1.SelectedItem.Parent.Key = "光盘库" Then
  697.       mnuDeleteStyle.Enabled = True
  698.       mnuRenameStyle.Enabled = True
  699.       PopupMenu mnuStyleRightButtonMenu
  700.    Else
  701.       PopupMenu mnuCdromRightButtonMenu
  702.    End If
  703.  End If
  704. End If
  705. End Sub
  706. Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
  707. '单击查找结果
  708. If Node.Key = "@@@@@***##查找结果@@@@@***##" Then
  709.    Label1.Caption = "查找结果"
  710.    Node.Expanded = True
  711.    TreeView2.Nodes.Clear
  712.    Toolbar1.Buttons("find").Enabled = False
  713.    RichTextBox1.Text = "请选择一个光盘看查找结果"
  714.    Exit Sub
  715. End If
  716. '单击查找结果的某一张光盘
  717. If Left(Node.Key, 24) = "@@@@@***##查找结果@@@@@***##" Then
  718.    Toolbar1.Buttons("find").Enabled = False
  719.    nodetext = Node.Text + ".fnd"
  720.    If Dir(nodetext) = "" Then
  721.       MsgBox "光盘 " + Chr(34) + Node.Text + Chr(34) + " 查找结果文件丢失,请重新生成!", vbCritical
  722.       For i = 2 To TreeView1.Nodes.Count
  723.           If TreeView1.Nodes.Item(i).Key = TreeView1.SelectedItem.Key Then
  724.              Exit For
  725.           End If
  726.       Next
  727.       RichTextBox1.Text = ""
  728.       TreeView1.Nodes.Remove i
  729.       TreeView2.Nodes.Clear
  730.       WriteToDisk
  731.       Exit Sub
  732.    Else
  733.       Dim FileNotes As String
  734.       fnum = FreeFile
  735.       Open nodetext For Input As #fnum
  736.          Line Input #fnum, FileNotes
  737.          sFindString = FileNotes
  738.          Label1.Caption = "正在读取光盘 (" + TreeView1.SelectedItem.Text + ")" + " 查找 " + Chr(34) + sFindString + Chr(34) + " 后的结果镜像文件..."
  739.          Me.MousePointer = 11
  740.          TreeView2.Nodes.Clear
  741.          Line Input #fnum, FileNotes
  742.          TreeView2.Nodes.Add , , FileNotes, FileNotes, 1
  743.             '把文件写入NODES中
  744.             Do While Not EOF(fnum)
  745.             Line Input #fnum, FileNotes
  746.             If Right(FileNotes, 1) = "" Then
  747.                fns1 = Left(FileNotes, Len(FileNotes) - 1)
  748.                For i = Len(fns1) To 1 Step -1
  749.                    If Mid(fns1, i, 1) = "" Then
  750.                       FnsPath = Left(fns1, i)
  751.                       FnsName = Mid(fns1, i + 1)
  752.                       Exit For
  753.                    End If
  754.                Next
  755.                TreeView2.Nodes.Add FnsPath, tvwChild, FileNotes, FnsName, 3, 2
  756.             Else
  757.                For i = Len(FileNotes) To 1 Step -1
  758.                    If Mid(FileNotes, i, 1) = "" Then
  759.                       FnsPath = Left(FileNotes, i)
  760.                       FnsName = Mid(FileNotes, i + 1)
  761.                       Exit For
  762.                    End If
  763.                Next
  764.                TreeView2.Nodes.Add FnsPath, tvwChild, FileNotes, FnsName, 10
  765.             End If
  766.          Loop
  767.          Close fnum
  768.          RichTextBox1.Text = ""
  769.          TreeView2.Nodes(1).Expanded = True
  770.          Label1.Caption = "光盘 (" + TreeView1.SelectedItem.Text + ")" + " 查找 " + Chr(34) + sFindString + Chr(34) + " 后的结果"
  771.          RichTextBox1.Text = Label1.Caption
  772.          Me.MousePointer = 0
  773.          Exit Sub
  774.       End If
  775.    End If
  776. '单击光盘库
  777. If Node.Text = "光盘库" Then
  778.    Toolbar1.Buttons("find").Enabled = True
  779.    TreeView2.Nodes.Clear
  780.    Node.Expanded = True
  781.    Label1.Caption = "整个光盘库"
  782.    RichTextBox1.Text = "感谢使用 忠霖软件创作室 的产品"
  783.    TreeView2.Nodes.Clear
  784.    Exit Sub
  785. End If
  786. '单击了类别
  787. If Node.Parent.Text = "光盘库" Then
  788.    Toolbar1.Buttons("find").Enabled = True
  789.    Label1.Caption = "类别(" + Node.Text + ")"
  790.    RichTextBox1.Text = "感谢使用 忠霖软件创作室 的产品"
  791.    TreeView2.Nodes.Clear
  792.    Exit Sub
  793. Else
  794.   Toolbar1.Buttons("find").Enabled = True
  795.    nodetext = Node.Text + ".cdo"
  796.    If Dir(nodetext) = "" Then
  797.       MsgBox "光盘 " + Chr(34) + Node.Text + Chr(34) + " 镜像文件丢失,请重新生成!", vbCritical
  798.       DeleteCdrom
  799.       Exit Sub
  800.    Else
  801.       fnum = FreeFile
  802.       Open nodetext For Input As #fnum
  803.       Line Input #fnum, FileNotes
  804.       If FileNotes <> "@@@@@***##光盘镜像文件@@@@@***##" Then
  805.          MsgBox "非法的光盘镜像文件 " + Chr(34) + Node.Text + Chr(34) + Chr(13) + Chr(13) + "请重新生成光盘镜像文件!", vbCritical
  806.          DeleteCdrom
  807.          Exit Sub
  808.       Else
  809.          Label1.Caption = "正在读取光盘 " + Chr(34) + Node.Text + Chr(34) + " 的镜像文件......"
  810.          Me.Refresh
  811.          Me.MousePointer = 11
  812.          TreeView2.Nodes.Clear
  813.          Line Input #fnum, FileNotes
  814.          TreeView2.Nodes.Add , , FileNotes, FileNotes, 1
  815.             Do While Not EOF(fnum)
  816.             Line Input #fnum, FileNotes
  817.             If Right(FileNotes, 1) = "" Then
  818.                fns1 = Left(FileNotes, Len(FileNotes) - 1)
  819.                For i = Len(fns1) To 1 Step -1
  820.                    If Mid(fns1, i, 1) = "" Then
  821.                       FnsPath = Left(fns1, i)
  822.                       FnsName = Mid(fns1, i + 1)
  823.                       Exit For
  824.                    End If
  825.                Next
  826.                TreeView2.Nodes.Add FnsPath, tvwChild, FileNotes, FnsName, 3, 2
  827.             Else
  828.                For i = Len(FileNotes) To 1 Step -1
  829.                    If Mid(FileNotes, i, 1) = "" Then
  830.                       FnsPath = Left(FileNotes, i)
  831.                       FnsName = Mid(FileNotes, i + 1)
  832.                       Exit For
  833.                    End If
  834.                Next
  835.                TreeView2.Nodes.Add FnsPath, tvwChild, FileNotes, FnsName, 10
  836.             End If
  837.          Loop
  838.          Close fnum
  839.          RichTextBox1.Text = ""
  840.          If Left(Node.Key, 24) <> "@@@@@***##查找结果@@@@@***##" Then
  841.          If Dir(Node.Text + ".mx") <> "" Then
  842.             RichTextBox1.LoadFile Node.Text + ".mx"
  843.          End If
  844.          End If
  845.          TreeView2.Nodes(1).Expanded = True
  846.          Label1.Caption = TreeView1.SelectedItem.Parent.Text + "  (" + TreeView1.SelectedItem.Text + ")  中的文件夹与文件"
  847.          Me.MousePointer = 0
  848.       End If
  849.    End If
  850. End If
  851. End Sub
  852. Public Sub WriteToDisk()
  853.   Close
  854.   fnum = FreeFile
  855.   Open "cdrom.cds" For Output As #fnum
  856.   For i = 2 To TreeView1.Nodes.Count
  857.     Print #fnum, TreeView1.Nodes.Item(i).Key
  858.   Next
  859.   Close fnum
  860. End Sub
  861. Public Sub DeleteCdrom()
  862.       For i = 2 To TreeView1.Nodes.Count
  863.           If TreeView1.Nodes.Item(i).Key = TreeView1.SelectedItem.Key Then
  864.              Exit For
  865.           End If
  866.       Next
  867.       RichTextBox1.Text = ""
  868.       If Dir(TreeView1.Nodes(i).Text + ".cdo") <> "" Then
  869.          Kill TreeView1.Nodes(i).Text + ".cdo"
  870.       End If
  871.       If Dir(TreeView1.Nodes(i).Text + ".mx") <> "" Then
  872.          Kill TreeView1.Nodes(i).Text + ".mx"
  873.       End If
  874.       TreeView1.Nodes.Remove i
  875.       TreeView2.Nodes.Clear
  876.       WriteToDisk
  877. End Sub