home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / envelop / envelop.5 / Tools / Arsenal / tools / browsbmp / browsbmp.eto < prev    next >
Text File  |  1996-07-08  |  11KB  |  367 lines

  1. Type BrowserDisplayForm From Form
  2.   Dim BrowserDisplayViewMenu As New PopupMenu
  3.   Dim BrowserDisplayMenuBar As New MenuBar
  4.   Dim imgViewer As New Image
  5.   Dim BitmapFile As New Bitmap
  6.  
  7.   ' METHODS for object: BrowserDisplayForm
  8.   Sub ClearMenuCheckMarks()
  9.     ' Clear any existing checkboxes
  10.     BrowserDisplayViewMenu.CheckItem("ScaleFit", 0)
  11.     BrowserDisplayViewMenu.CheckItem("ScaleFull", 0)
  12.   End Sub
  13.  
  14.   Sub ExitDisplay_Click()
  15.     ' Hide the Bitmap viewer form
  16.     Hide
  17.   End Sub
  18.  
  19.   Sub Load()
  20.     ' Clear existing checkmarks in the menu
  21.     ClearMenuCheckMarks
  22.   
  23.     BrowserDisplayForm.Width = 3955
  24.     BrowserDisplayForm.Height = 4530
  25.   
  26.   End Sub
  27.  
  28.   Sub Resize()
  29.     ' Keep the size of the image control the same as the form
  30.     imgViewer.Move(0, 0, BrowserDisplayForm.ScaleWidth, BrowserDisplayForm.ScaleHeight)
  31.   End Sub
  32.  
  33.   Sub ScaleFit_Click()
  34.   
  35.     ' Clear exiting checkmarks
  36.     ClearMenuCheckMarks
  37.     ' Add a checkmark to the Fit entry
  38.     BrowserDisplayViewMenu.CheckItem("ScaleFit", 1)
  39.   
  40.     ' Set the resize mode to keep a constant portion of bitmap visible.
  41.     imgViewer.ResizeMode = "Fit"
  42.   
  43.     ' View the entire bitmap
  44.     imgViewer.CropXOffset = 0
  45.     imgViewer.CropYOffset = 0
  46.     imgViewer.CropXSize = BitmapFile.Width
  47.     imgViewer.CropYSize = BitmapFile.Height
  48.   End Sub
  49.  
  50.   Sub ScaleFull_Click()
  51.   
  52.     ' Clear existing checkmarks
  53.     ClearMenuCheckMarks
  54.     ' Add a checkmark to the Fit entry
  55.     BrowserDisplayViewMenu.CheckItem("ScaleFull", 1)
  56.   
  57.     ' Set the resize mode display bitmap at a constant scale
  58.     imgViewer.ResizeMode = "Clip"
  59.   
  60.     ' View the bitmap at a 1:1 scale
  61.     imgViewer.ScaleX = 1
  62.     imgViewer.ScaleY = 1
  63.   End Sub
  64.  
  65.   Sub UpdateDisplay()
  66.     Application.DoEvents
  67.   
  68.     ' If the Fit mode is alreay checked
  69.     If BrowserDisplayViewMenu.ItemIsChecked("ScaleFit") Then 
  70.       ScaleFit_Click
  71.     Else 
  72.       ' Clear all checkmark entries in the menu
  73.       ScaleFull_Click
  74.     End If
  75.   End Sub
  76.  
  77. End Type
  78.  
  79. Type BrowserMasterForm From SampleMasterForm
  80.   Dim lstBmpFiles As New ListBox
  81.   Dim lstSelDirectory As New FileListBox
  82.   Dim btnSearch As New Button
  83.   Dim btnClear As New Button
  84.   Dim cboSelDrive As New FileComboBox
  85.   Dim Label1 As New Label
  86.   Dim Label2 As New Label
  87.   Dim Label3 As New Label
  88.   Dim lblCurDirectory As New Label
  89.   Dim lblSearchDirectory As New Label
  90.   Dim tmrStopWatch As New StopClock
  91.  
  92.   ' METHODS for object: BrowserMasterForm
  93.   Sub AddFileToList(ByVal path as string, ByVal attr as long)
  94.     lstBmpFiles.AddItem path
  95.   
  96.     ' Process events to update display and/or Cancel
  97.     App.DoEvents()
  98.   End Sub
  99.  
  100.   Sub btnClear_Click()
  101.     If btnClear.Caption = "Cancel" Then 
  102.       Throw AbortFlag()
  103.     Else 
  104.       lstBmpFiles.Clear
  105.       BrowserDisplayForm.BitmapFile.FileName = ""
  106.     End If
  107.   End Sub
  108.  
  109.   Sub btnSearch_Click()
  110.     Dim searchstring As String
  111.     Dim file_count As single
  112.     Dim total_time As String
  113.   
  114.     ' Disable controls until after search
  115.     lstBmpFiles.Enabled = 0
  116.     lstSelDirectory.Enabled = 0
  117.     cboSelDrive.Enabled = 0
  118.     btnClear.Caption = "Cancel"
  119.     btnSearch.Enabled = "False"
  120.   
  121.     ' Clear the bmp file list
  122.     lstBmpFiles.Clear
  123.   
  124.     tmrStopWatch.Start
  125.   
  126.     ' Initiate the recursive search for matching files
  127.     Try
  128.       GenerateBmpList lstSelDirectory.Path
  129.     catch AbortFlag()
  130.       InfoBox.Message("", "Search operation cancelled.")
  131.     End Try
  132.   
  133.     tmrStopWatch.Finish
  134.   
  135.     total_time = tmrStopWatch.ElapsedTime
  136.   
  137.     tmrStopWatch.Reset
  138.   
  139.     ' Disable controls until after search
  140.     lstBmpFiles.Enabled = -1
  141.     lstSelDirectory.Enabled = -1
  142.     cboSelDrive.Enabled = -1
  143.     btnClear.Caption = "Clear"
  144.     btnSearch.Enabled = "True"
  145.   
  146.     file_count = lstBmpFiles.ListCount
  147.     InfoBox.Message("", file_count & " bitmap files located in " & total_time & " time.")
  148.   
  149.   End Sub
  150.  
  151.   Sub cboSelDrive_Click()
  152.     ' Set the path for the Select Directory list
  153.     lstSelDirectory.Path = cboSelDrive.SelPath
  154.   
  155.     ' Update the Search Directory label
  156.     lblCurDirectory.Caption = lstSelDirectory.Path
  157.   
  158.   End Sub
  159.  
  160.   Sub ExitApplication_Click()
  161.     ' Set the contents of the titlebar of the YesNoPrompt object
  162.     YesNoBox.title = "Quit?"
  163.   
  164.     ' Set the message of the YesNoPrompt object
  165.     YesNoBox.Msg("Ok to quit application?")
  166.   
  167.     ' If the Yes entry was clicked, hide the textedit form
  168.     If YesNoBox.result = 6 Then 
  169.       Dim F Strictly As SampleMasterForm
  170.       F = Me
  171.       BrowserDisplayForm.Hide
  172.       F.ExitApplication_Click
  173.     End If
  174.   End Sub
  175.  
  176.   Sub GenerateBmpList(ByVal searchFrom As String)
  177.     Dim dir As New Directory
  178.     dir.Path = IIf(searchFrom <> "", searchFrom, dir.CurrentDir)
  179.     dir.EnumContents(Me, "AddFileToList", "*.bmp", True)
  180.   End Sub
  181.  
  182.   Sub lstBmpFiles_Click()
  183.     Dim option As long
  184.     Dim result As long
  185.     Dim bmp_file As String
  186.   
  187.     ' Set a variable to be the name of sound file including absolute path
  188.     bmp_file = lstBmpFiles.Text
  189.   
  190.     ' Display the selected bmp file
  191.     BrowserDisplayForm.BitmapFile.FileName = bmp_file
  192.   
  193.     If BrowserDisplayForm.Visible = 0 Then 
  194.       BrowserDisplayForm.Show
  195.     End If
  196.   
  197.     ' Update the correct display mode
  198.     BrowserDisplayForm.UpdateDisplay
  199.   
  200.   End Sub
  201.  
  202.   Sub lstSelDirectory_DblClick()
  203.     ' Set the Select Directory path to the one chosen
  204.     lstSelDirectory.Path = lstSelDirectory.SelPath
  205.   
  206.     ' Update the Search Directory label
  207.     lblCurDirectory.Caption = lstSelDirectory.Path
  208.   End Sub
  209.  
  210.   Sub ResetApplication_Click()
  211.     ' Preset the height of the combo drive box
  212.     cboSelDrive.Height = 1500
  213.   
  214.     ' Initialize the Search Directory label
  215.     lblCurDirectory.Text = lstSelDirectory.Path
  216.   
  217.     ' Preset the combo drive box
  218.     cboSelDrive.SelectDrive(lstSelDirectory.Path)
  219.   
  220.     ' Initialize the bitmap filename
  221.     BrowserDisplayForm.BitmapFile.FileName = ""
  222.   
  223.     ' Initize the default size of the form
  224.     BrowserMasterForm.Width = 8385
  225.     BrowserMasterForm.Height = 5040
  226.   End Sub
  227.  
  228.   Sub Resize()
  229.     Dim min_width As single
  230.     Dim min_height As single
  231.     Dim edge_margin As single
  232.     Dim gap_margin As single
  233.   
  234.     edge_margin = 300
  235.     gap_margin = 200
  236.   
  237.     min_height = 4000
  238.     min_width = 6500
  239.   
  240.     If BrowserMasterForm.Width < min_width Then 
  241.       BrowserMasterForm.Width = min_width
  242.     End If
  243.   
  244.     If BrowserMasterForm.Height < min_height Then 
  245.       BrowserMasterForm.Height = min_height
  246.     End If
  247.   
  248.     lstBmpFiles.Width = BrowserMasterForm.ScaleWidth - lstBmpFiles.Left - edge_margin
  249.     btnClear.Left = BrowserMasterForm.ScaleWidth - btnClear.Width - edge_margin
  250.     btnSearch.Left = btnClear.Left - btnSearch.Width - gap_margin
  251.     lblCurDirectory.Width = btnSearch.Left - gap_margin - lblCurDirectory.Left
  252.   
  253.     btnClear.Top = BrowserMasterForm.ScaleHeight - edge_margin - btnClear.Height
  254.     lstBmpFiles.Height = btnClear.Top - gap_margin - lstBmpFiles.Top
  255.     btnSearch.Top = btnClear.Top
  256.     lblCurDirectory.Top = btnClear.Top + btnClear.Height - lblCurDirectory.Height
  257.     lblSearchDirectory.Top = lblCurDirectory.Top - lblSearchDirectory.Height
  258.     lstSelDirectory.Height = lstBmpFiles.Height - (lstSelDirectory.Top - lstBmpFiles.Top)
  259.   
  260.     BrowserMasterForm.Refresh
  261.   End Sub
  262.  
  263. End Type
  264.  
  265. Begin Code
  266. ' Reconstruction commands for object: BrowserDisplayForm
  267. '
  268.   With BrowserDisplayForm
  269.     .Caption := "Bitmap Viewer"
  270.     .Move(10275, 6495, 3960, 4530)
  271.     .Outlined := True
  272.     .MenuBar := BrowserDisplayForm.BrowserDisplayMenuBar
  273.     With .BrowserDisplayViewMenu
  274.  
  275.       .InsertItem("ScaleFit", "&Fit", -1)
  276.       .InsertItem("ScaleFull", "F&ull", -1)
  277.       .InsertSeparator(-1)
  278.       .InsertItem("ExitDisplay", "&Exit", -1)
  279.     End With  'BrowserDisplayForm.BrowserDisplayViewMenu
  280.     With .BrowserDisplayMenuBar
  281.  
  282.       .InsertPopup(BrowserDisplayForm.BrowserDisplayViewMenu, "&View", -1)
  283.     End With  'BrowserDisplayForm.BrowserDisplayMenuBar
  284.     With .imgViewer
  285.       .BackColor := 16777215
  286.       .ZOrder := 1
  287.       .Move(0, 0, 3840, 3840)
  288.       .AutoInitCropRect := False
  289.       .Picture := BrowserDisplayForm.BitmapFile
  290.       .CropXSize := 32
  291.       .CropYSize := 32
  292.     End With  'BrowserDisplayForm.imgViewer
  293.     With .BitmapFile
  294.     End With  'BrowserDisplayForm.BitmapFile
  295.   End With  'BrowserDisplayForm
  296. ' Reconstruction commands for object: BrowserMasterForm
  297. '
  298.   With BrowserMasterForm
  299.     .Caption := "Bitmap Displayer"
  300.     .Move(4065, 2400, 8385, 5040)
  301.     .SampleDir := "C:\ENVELOP\arsenal\tools\browsbmp\"
  302.     .SampleName := "browsbmp"
  303.     With .lstBmpFiles
  304.       .Caption := "lstBmpFiles"
  305.       .ZOrder := 1
  306.       .Move(2700, 525, 5325, 2910)
  307.     End With  'BrowserMasterForm.lstBmpFiles
  308.     With .lstSelDirectory
  309.       .Caption := "lstSelDirectory"
  310.       .ZOrder := 2
  311.       .Move(300, 1500, 1950, 1950)
  312.       .ShowDirs := True
  313.       .ShowFiles := False
  314.     End With  'BrowserMasterForm.lstSelDirectory
  315.     With .btnSearch
  316.       .Caption := "Search"
  317.       .ZOrder := 3
  318.       .Move(6000, 3750, 900, 375)
  319.     End With  'BrowserMasterForm.btnSearch
  320.     With .btnClear
  321.       .Caption := "Clear"
  322.       .ZOrder := 4
  323.       .Move(7095, 3750, 900, 375)
  324.     End With  'BrowserMasterForm.btnClear
  325.     With .cboSelDrive
  326.       .ZOrder := 5
  327.       .Move(300, 525, 1950, 360)
  328.       .ShowDrives := True
  329.       .ShowFiles := False
  330.     End With  'BrowserMasterForm.cboSelDrive
  331.     With .Label1
  332.       .Caption := "Drives:"
  333.       .ForeColor := 13107200
  334.       .ZOrder := 6
  335.       .Move(150, 150, 825, 240)
  336.     End With  'BrowserMasterForm.Label1
  337.     With .Label2
  338.       .Caption := "Directories:"
  339.       .ForeColor := 13107200
  340.       .ZOrder := 7
  341.       .Move(150, 1125, 1500, 240)
  342.     End With  'BrowserMasterForm.Label2
  343.     With .Label3
  344.       .Caption := "Bitmap Files:   (Click to show)"
  345.       .ForeColor := 13107200
  346.       .ZOrder := 8
  347.       .Move(2475, 150, 2880, 240)
  348.     End With  'BrowserMasterForm.Label3
  349.     With .lblCurDirectory
  350.       .Caption := "W:\Examples"
  351.       .ZOrder := 9
  352.       .Move(450, 3825, 5315, 300)
  353.     End With  'BrowserMasterForm.lblCurDirectory
  354.     With .lblSearchDirectory
  355.       .Caption := "Search Directory:"
  356.       .ForeColor := 13107200
  357.       .ZOrder := 10
  358.       .Move(150, 3525, 1950, 300)
  359.     End With  'BrowserMasterForm.lblSearchDirectory
  360.     With .tmrStopWatch
  361.     End With  'BrowserMasterForm.tmrStopWatch
  362.     With .helpfile
  363.       .FileName := "C:\ENVELOP\arsenal\tools\browsbmp\browsbmp.hlp"
  364.     End With  'BrowserMasterForm.helpfile
  365.   End With  'BrowserMasterForm
  366. End Code
  367.