Das Steuerelement FileProperties (gb.form) zeigt wesentliche Eigenschaften einer Datei oder eines Verzeichnisses in einem TabPanel an. Sie können dem TabPanel zusätzliche Registerkarten hinzufügen, indem Sie die Methode FileProperties.Add(…) verwenden. Die Steuer-Elemente DirChooser und FileChooser setzen intern auch das Steuerelement FileProperties ein, um ausgewählte Eigenschaften einer Datei oder eines Verzeichnisses anzuzeigen (blauer Button mit i-Symbol):
Abbildung 6.9.6.1: Einsatz Steuer-Element FileProperties im DirChooser
Diese Klasse können Sie erzeugen:
Dim hFileProperties As FileProperties hFileProperties = New FileProperties ( Parent As Container ) As "EventName"
Die Klasse FileProperties verfügt u.a. über diese Eigenschaften:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Data | _FileProperties | Gibt ein virtuelles Objekt zurück, das vom Data Event Handler gefüllt werden muss, um den Datei-Typ zu beschreiben und das angezeigte Icon festzulegen. |
Path | String | Liefert oder setzt den Pfad der Datei, deren Eigenschaften angezeigt werden. Wenn der Pfad ein Verzeichnis ist, wird die Größe des Verzeichnisinhalts automatisch von einer Hintergrund-Task berechnet. |
Tabelle 6.9.6.1.1 : Ausgewählte Eigenschaften der Klasse FileProperties
Das Steuer-Element FileProperties zeigt neben ausgewählten Eigenschaften (Typ, Verzeichnis, Größe, Datum der letzten Änderung (mtime), Rechte, Besitzer und Gruppe) nur für Bild-Dateien auch ein Vorschaubild an.
Abbildung 6.9.6.2.1: Anzeige ausgewählter Eigenschaften
Abbildung 6.9.6.2.2: Anzeige Vorschaubild
Die Methode Add( Panel As Control, Title As String ) fügt einen bereits vorhandenen Container oder ein Steuerelement in eine neue Registerkarte des FileProperties-Steuerelementes ein. Panel ist das Steuerelement, das eingefügt wird und Title ist der Titel der neuen Registerkarte.
Abbildung 6.9.6.2.3: Neue Registerkarte mit dem Titel „Text-Vorschau“
Eine neue Registerkarte kann mit diesem Quelltext erzeugt werden:
Public Sub FileView1_Click() Dim sFileName, sFilePath As String sFileName = FileView1.Current sFilePath = DirBox1.Value &/ sFileName FileProperties1.Path = sFilePath Select Lower(File.Ext(sFileName)) Case "txt", "xml", "conf", "class", "log", "dat", "py", "pl", "php", "html" If k = 0 Then hTextArea = New TextArea(FileProperties1) hTextArea.Background = &HFFFFE1 FileProperties1.Add(hTextArea, ("Text preview")) Inc k Endif hTextArea.Text = File.Load(sFilePath) hTextArea.Pos = 0 End Select End
Mit dem o.a. Quelltext können Sie das Standardverhalten so erweitern, dass auch der Inhalt von ausgewählten Text-Dateien angezeigt wird.
Von den Ereignisses des Steuer-Elementes ist vor Allem das Data()-Ereignis interessant: Das Ereignis FileProperties.Data() kann behandelt werden, um den Typ einer speziellen Gruppe von Dateien – Kriterium ist eine Liste von Extensionen – und ihr Symbol zu definieren, indem die Data-Eigenschaft während des Ereignisbehandlers gefüllt wird. Wenn im Ereignisbehandler das Standardverhalten des FileProperties-Dialogs gewünscht wird, dann muss das Ereignis gestoppt werden.
Abbildung 6.9.6.3.1: Erweiterte Anzeige von Datei-Typ mit passendem Symbol
Quelltext-Abschnitt:
[1] Public Sub FileProperties1_Data() [2] [3] If IsDir(FileProperties1.Path) Then [4] ' Default behavior [5] Stop Event [6] Return [7] Else [8] Select Lower(File.Ext(FileView1.Current)) [9] Case "txt", "xml", "conf", "class", "log", "dat", "py", "pl", "php", "html" [10] FileProperties1.Data.Type = ("Text file") [11] FileProperties1.Data.Icon = Picture["icon:/48/shortcut"] [12] Case "pdf" [13] FileProperties1.Data.Type = ("PDF-File") [14] FileProperties1.Data.Icon = Picture["icon:/48/pdf"] [15] Case "png", "jpg", "jpeg", "gif" [16] ' Default behavior of the FileProperties dialog for these selected file extensions [17] Stop Event [18] Return [19] Case Else [20] FileProperties1.Data.Type = ("File") [21] FileProperties1.Data.Icon = Picture["icon:/48/office"] [22] End Select [23] Endif [24] [25] End