Minimaler Dateidialog basierend auf FileChooser GUI Komponente
Autor: Steffen Ploetz
(Stand der EN Seite vom 17.03.2024)
Der Zweck dieses Code-Schnipsels ist
-
die Erstellung und Verwendung eines minimalistischen Dialogs zu zeigen, der die GUI-Komponente
FileCooser
verwendet, um
-
eine Alternative zur statischen Methode
OpenFile
der Komponente gb.form.dialog
zu haben - die (in einer GTK-Umgebung, siehe Komponente gb.gui
) zwar GTK-kompatibel ist, aber nicht komfortabel.
Der Code kann als Vorlage für minimalistische Dialoge verwendet werden, die andere Chooser-GUI-Komponenten verwenden.
Dieser Code-Schnipsel unterstützt nur einen modalen Dialog für die Auswahl einer einzelnen Datei und verwendet nur zwei Event-Handler der
FileCooser
GUI-Komponente,
Activate
und
Cancel
.
Die Erweiterung der Möglichkeiten des Dialogs mit zusätzlichen
Static Public Function
und Funktionsargumenten ist sehr einfach.
Die Gambas-Code-Datei FFileChooser.class
sieht wie folgt aus:
' Gambas class file
Static Private sLastSelectedPath As String
Static Private bResult As Boolean
Static Public Function OpenSigleFileModal() As Boolean
Dim hForm As Form
sLastSelectedPath = ""
bResult = False
hForm = New FFileChooser
hForm.ShowModal()
Return bResult
End
Static Public Function LastSelectedPath() As String
Return sLastSelectedPath
End
Public Sub cFileChooser_Activate()
sLastSelectedPath = cFileChooser.SelectedPath
bResult = True
Me.Close
End
Public Sub cFileChooser_Cancel()
Me.Close
End
Die Gambas Formular-Datei FFileChooser.form
sieht wie folgt aus:
# Gambas Form File 3.0
{ Form Form
MoveScaled(0,0,64,53)
Arrangement = Arrange.Vertical
Margin = True
{ cFileChooser FileChooser
MoveScaled(1,1,62,51)
Expand = True
ShowButton = True
ReadOnly = True
}
}
Die
Form
-Eigenschaft
Arrangement
ist auf
Vertical
und die
cFileChooser
-Eigenschaft
Expand
auf
True
eingestellt. Dies ermöglicht, dass sich das
FileChooser
-Steuerelement automatisch an Änderungen der Größe des
Form
anpasst.
Die
cFileChooser
-Eigenschaft
ShowButton
wird auf
True
gesetzt. Dadurch werden die Schaltflächen "OK" und "Abbrechen" sowie das Dropdown "Filter" angezeigt.
Die
cFileChooser
-Eigenschaft
ReadOnly
wird auf
True
gesetzt. Damit wird das
FileChooser
-Steuerelement als
FileOpen
-Steuerelement verwendet.
Der Aufruf des Dialogs sieht wie folgt aus:
Public Sub btnFileOpen_Click()
Dim fileChooser As FFileChooser
Dim sLastSelectedPath As String
If FFileChooser.OpenSigleFileModal() = True Then
sLastSelectedPath = FFileChooser.LastSelectedPath()
Else
sLastSelectedPath = ""
Endif
End
Änderungen der Seite
Minimaler Dateidialog basierend auf FileChooser GUI Komponente: Steffen Ploetz - 28. März 2024