home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / envelop / envelop.5 / Tools / Bootcamp / advanced / indented / indented.eto < prev    next >
Text File  |  1996-07-08  |  4KB  |  143 lines

  1. Type IndentedListMasterForm From SampleMasterForm
  2.   Dim DirBox As New IndentedList
  3.   Dim FILE_ATTRIBUTE_DIRECTORY As Integer
  4.   Dim Level As Integer
  5.   Dim InsertAtIndex As Integer
  6.   Dim FILE_ICON As Integer
  7.   Dim DIR_ICON As Integer
  8.   Dim Icons As New Bitmap
  9.   Dim Margin As Integer
  10.   Dim LblPath As New Label
  11.   Dim DIR_COLLAPSED_ICON As Integer
  12.   Dim DIR_EXPANDED_ICON As Integer
  13.  
  14.   ' METHODS for object: IndentedListMasterForm
  15.   Sub AddFileToList(ByVal path as string, ByVal attr as long)
  16.     dim I as Integer
  17.     path = ClipString(path)
  18.   
  19.     If attr And FILE_ATTRIBUTE_DIRECTORY Then 
  20.       I = DirBox.InsertItem(path, DIR_COLLAPSED_ICON, Level + 1, InsertAtIndex)
  21.       DirBox.SetItemCanExpand(I, True)
  22.     Else 
  23.       I = DirBox.InsertItem(path, FILE_ICON, Level + 1, InsertAtIndex)
  24.       DirBox.SetItemCanExpand(I, False)
  25.     End If
  26.     DirBox.SetItemData(I, InsertAtIndex - 1)
  27.   End Sub
  28.  
  29.   Function ClipString(OldString as string) as String
  30.     Dim I as integer
  31.     Dim FileObj as New File
  32.   
  33.     FileObj.FileName = OldString
  34.     ClipString = FileObj.Name & FileObj.Extension
  35.   End Function
  36.  
  37.   Sub DirBox_Click()
  38.     LblPath.Text = RecreatePath(DirBox.ListIndex)
  39.   End Sub
  40.  
  41.   Sub DirBox_Collapsed(ByVal itemIndex as Integer, ByVal itemData as Long, itemObj as Object)
  42.     DirBox.SetItemIcon(itemIndex, DIR_COLLAPSED_ICON)
  43.     DirBox_Click
  44.   End Sub
  45.  
  46.   Sub DirBox_Expand(ByVal itemIndex as Integer, ByVal itemData as Long, itemObj as Object)
  47.     Level = DirBox.ItemLevel(itemIndex)
  48.     InsertAtIndex = itemIndex + 1
  49.     GenerateDirList(RecreatePath(itemIndex))
  50.     DirBox.SetItemIcon(itemIndex, DIR_EXPANDED_ICON)
  51.     DirBox_Click
  52.   End Sub
  53.  
  54.   Sub ExitApplication_Click()
  55.     Dim F Strictly As SampleMasterForm
  56.     F = Me
  57.     IndentedListMasterForm.Hide
  58.     F.ExitApplication_Click
  59.   End Sub
  60.  
  61.   Sub GenerateDirList(path as string)
  62.     Dim dir As New Directory
  63.   
  64.     dir.Path = path
  65.     dir.EnumContents(Me, "AddFileToList", "*.*", False)
  66.   End Sub
  67.  
  68.   Sub Initialize
  69.     DirBox.ExpandOnDblClick = True
  70.     LblPath.Caption = ""
  71.     InsertAtIndex = 0
  72.     Level = -1
  73.     DirBox.Clear
  74.     GenerateDirList("C:\")
  75.     DirBox.Reset
  76.   End Sub
  77.  
  78.   Function RecreatePath(byVal branch as long) as string
  79.     Dim Path as string
  80.   
  81.     While branch > -1
  82.       Path = "\" & DirBox.ItemString(branch) & Path
  83.       branch = DirBox.ItemData(branch)
  84.     Wend
  85.   
  86.     Path = "C:" & Path
  87.     RecreatePath = Path
  88.   End Function
  89.  
  90.   Sub ResetApplication_Click()
  91.     LoadForm
  92.     Initialize
  93.   End Sub
  94.  
  95.   Sub Resize()
  96.     LblPath.Move(Margin, Margin, ScaleWidth - (2 * Margin), 300)
  97.     DirBox.Move(Margin, (Margin * 2) + 300, ScaleWidth - (2 * Margin), ScaleHeight - ((3 * Margin) + 300))
  98.   End Sub
  99.  
  100. End Type
  101.  
  102. Begin Code
  103. ' Reconstruction commands for object: IndentedListMasterForm
  104. '
  105.   With IndentedListMasterForm
  106.     .Caption := "Indented List Sample"
  107.     .Move(3900, 2490, 5415, 7725)
  108.     .FILE_ATTRIBUTE_DIRECTORY := 16
  109.     .Level := 0
  110.     .InsertAtIndex := 1
  111.     .FILE_ICON := 2
  112.     .DIR_ICON := 0
  113.     .Margin := 100
  114.     .DIR_COLLAPSED_ICON := 0
  115.     .DIR_EXPANDED_ICON := 3
  116.     .SampleDir := "W:\bootcamp\advanced\indented\"
  117.     .SampleName := "indented"
  118.     With .DirBox
  119.       .ZOrder := 2
  120.       .Move(100, 500, 5095, 6435)
  121.       .ExpandOnDblClick := True
  122.       .IconBitmap := IndentedListMasterForm.Icons
  123.       .IconHeight := 12
  124.       .IconWidth := 12
  125.       .Sorted := True
  126.       .HighlightStyle := "FullLine"
  127.     End With  'IndentedListMasterForm.DirBox
  128.     With .Icons
  129.       .LoadType := "MemoryBased"
  130.       .FileName := "indented.ero"
  131.       .ResId := 0
  132.     End With  'IndentedListMasterForm.Icons
  133.     With .LblPath
  134.       .Caption := ""
  135.       .ZOrder := 1
  136.       .Move(100, 100, 5095, 300)
  137.     End With  'IndentedListMasterForm.LblPath
  138.     With .helpfile
  139.       .FileName := "W:\bootcamp\advanced\indented\indented.hlp"
  140.     End With  'IndentedListMasterForm.helpfile
  141.   End With  'IndentedListMasterForm
  142. End Code
  143.