Inhaltsverzeichnis

6.9.4 FileView

Das Steuerelement FileView (gb.form) zeigt Dateien in einem ausgewählten Verzeichnis an.

Ein FileView-Steuerelement kann erzeugt werden:

Dim hFileView As FileView

hFileView = New FileView ( Parent As Container ) As "EventName" 

Die Klasse verfügt für die Eigenschaft FileView.View über diese 4 Konstanten:

6.9.4.1 Eigenschaften

Die Klasse FileView verfügt über diese Eigenschaften:

EigenschaftDatentypBeschreibung
BackgroundIntegerGibt die Hintergrund-Farbe zurück oder setzt diese Farbe.
BorderBooleanGibt an, ob ein Rand gesetzt ist (Standard) oder entfernt mit dem Wert 'False' einen existierenden Rand.
CountIntegerGibt die Anzahl der Dateien im aktuellen Verzeichnis (FileView.Dir) der FileView zurück. Ein eingesetztes Filter ändert diese Anzahl.
CurrentStringGibt den Namen der markierten Datei zurück oder markiert die angegebene Datei im aktuellen Verzeichnis.
DirStringGibt das aktuelle Verzeichnis in der FileView zurück oder setzt das aktuelle Verzeichnis der FileView.
FilterString[ ]Gibt die vom Steuerelement verwendeten Filter in einem String-Array zurück oder setzt sie, um nur bestimmte Dateitypen anzuzeigen. Jeder Filter ist ein Dateimuster mit Wildcards. Dateinamen werden mit dem Befehl LIKE abgeglichen.
ForegroundIntegerGibt die Farbe der Dateinamen zurück oder setzt diese Farbe.
IconPictureGibt das Symbol für die Anzeige einer Datei oder eines Verzeichnisses zurück oder setzt es. Verwenden Sie diese Eigenschaft, um das Icon-Ereignis zu beantworten.
IconSizeIntegerGibt die von der Ansicht verwendete Symbolgröße zurück oder legt diese fest. Der Standardwert ist 32.
ModeIntegerGibt den FileView-Auswahlmodus zurück oder setzt ihn. Der Wert dieser Eigenschaft kann eine der Konstanten (Multiple, None oder Single) der Klasse Select (gb.qt4) sein.
Selection String[ ]Gibt die Liste der ausgewählten Dateien in einem String-Array zurück, wenn die Eigenschaft FileView.Mode auf Select.Multiple gesetzt ist.
Settings Variant[ ]Gibt die Konfiguration der FileView zurück oder weist sie zu. Die Konfiguration wird in einem Variant-Array in einem nicht spezifizierten Format gespeichert. Hinweis: Da die Settings-Eigenschaft als Schnittstelle zur Komponente gb.settings dient, mit der graphische Steuerelemente ihren eigenen Zustand serialisieren und wieder einlesen können, sollten Sie auf die Nutzung dieser Eigenschaft verzichten.
ShowDetailedBooleanZeigt an, ob die Dateien in der FileView mit einer Detailansicht oder nur mit Symbolen und den Dateinamen angezeigt werden oder setzt die Anzeige der Detailansicht.
ShowDirectoryBooleanZeigt an, ob das Steuerelement auch Verzeichnisse anzeigt oder nicht oder setzt die Anzeige der Verzeichnisse.
ShowHiddenBooleanZeigt an, ob das Steuerelement auch versteckte Dateien anzeigt oder nicht oder setzt die Anzeige versteckter Dateien.
ShowPreviewBooleanZeigt an, ob das Steuerelement Vorschaubilder bei Bild-Dateien anzeigt oder nicht oder setzt die Anzeige der Vorschaubilder von Bild-Dateien.

Tabelle 6.9.4.1.1 : Eigenschaften der Klasse FileView

Hinweise:

B1

Abbildung 6.9.4.1.1: Ausgewählte Datei in einer FileView

B2

Abbildung 6.9.4.1.2: Liste der ausgewählten Dateien in einer FileView

6.9.4.2 Methoden

Die Klasse FileView besitzt diese ausgewählten Methoden:

MethodeBeschreibung
Reload( )Aktualisiert den Inhalt der FileView durch erneutes Lesen des aktuellen Verzeichnisses.
Rename( )Startet das Umbenennen der aktuell ausgewählten Datei.
SelectAll( )Markiert alle Einträge in der FileView.
UnselectAll( )Setzt alle markierten Einträge in der FileView zurück.

Tabelle 6.9.4.2.1 : Ausgewählte Methoden der Klasse FileView

6.9.4.3 Ereignisse

Die Klasse FileView verfügt u.a. über folgende Ereignisse:

EreignisBeschreibung
Activate( )Dieses Ereignis wird ausgelöst, wenn ein Benutzer doppelt auf eine Datei klickt.
Click( )Dieses Ereignis wird ausgelöst, wenn ein Benutzer eine Datei anklickt. Das Ereignis löst auch zuerst das Select-Ereignis aus!
Icon( Path As String )Dieses Ereignis wird ausgelöst, wenn das Steuerelement das Symbol für eine bestimmte Datei oder ein bestimmtes Verzeichnis erhalten muss. Path ist der Bild-Pfad.
Menu( )Dieses Ereignis wird ausgelöst, wenn der Benutzer ein Popup-Menü aufruft.
Select( )Dieses Ereignis wird ausgelöst, wenn ein Benutzer eine Datei nur markiert (MouseLeft_Down).

Tabelle 6.9.4.3.1 : Ereignisse der Klasse FileView

6.9.4.4 Projekt

Der Quelltext zum Projekt setzt die o.a. Hinweise um:

' Gambas class file
 
Public sFileName As String
Public aFileNames As String[]
 
Public Sub Form_Open()
 
  FMain.Resizable = False
  DirBox1.Value = "/home/hans/BildTon" ' (Start-)Folder
 
  FileView1.Dir = DirBox1.Value
  FileView1.IconSize = 32 ' Default-Value = 32
  FileView1.ShowPreview = True
  FileView1.ShowHidden = True
  FileView1.Background = &HC3DDFF
  FileView1.Foreground = Color.DarkGreen
  FileView1.Mode = Select.Single
 
  FileView1.Filter = ["*.txt", "*.png", "*.pd*", "*.jp*", "*.xml"] 
  Wait
 
  btnShowFileListContent.Enabled = False
 
End
 
Public Sub FileView1_Click()
 
  Dim sFileDir, sFilePath As String
 
  sFileName = FileView1.Current
  sFileDir = FileView1.Dir
  sFilePath = sFileDir &/ sFileName
 
  lblFileName.Text = Subst("&1 &2 &3", ("Filename"), ":", sFileName)
 
End
 
Public Sub FileView1_Select()  
  If FileView1.Current Then
     Print Subst("&1 '&2' &3", ("The file"), FileView1.Current, ("has been selected."))
  Endif
End
 
Public Sub DirBox1_Click()
  FileView1.Dir = DirBox1.Value
End
 
Public Sub btnSetMultiple_Click()
 
  If FileView1.Mode = Select.Single Then ' The default-value is "Single"
     FileView1.Mode = Select.Multiple
     btnSetMultiple.Caption = "Set file selection to single"
     btnShowFileListContent.Enabled = True
  Else
     FileView1.Mode = Select.Single
     btnSetMultiple.Caption = "Set file selection to multiple"
     btnShowFileListContent.Enabled = False
  Endif
 
End
 
Public Sub btnShowFileListContent_Click()
 
  Dim sFile, sContent As String
 
  If FileView1.Mode = Select.Multiple Then
     If FileView1.Selection.Count > 0 Then 
        lblFileName.Text = ""
        aFileNames = FileView1.Selection
        For Each sFile In aFileNames
          sContent &= sFile & gb.Lf
        Next
        Message.Info("Selected files:<hr>" & sContent)
        FileView1.UnselectAll()
        FileView1.Mode = Select.Single
        btnSetMultiple.Caption = "Set file selection to multiple" 
        btnShowFileListContent.Enabled = False
     Endif 
  Endif
End

Download