User Tools

Site Tools


k20:k20.9:start

20.9 Select

Die Klasse Select (gb.qt4) stellt drei Konstanten (→ Tabelle 20.9.1.1) zur Festlegung der Mode-Eigenschaften vieler Komponenten zur Verfügung. Zu diesen Komponenten gehören:

ColumnView, DateBox, DateChooser, FileView, GridView, IconView, LCDNumber, ListBox, ListView, Stat, TableView, TreeView und _TreeView.

20.9.1 Konstanten

SelectKonstanteBeschreibung
None0Für die gewählte Komponente ist keine Auswahl von von Elementen möglich.
Single1Die Komponente ermöglicht die Einfachauswahl (Default).
Multiple2Eine Mehrfachauswahl ist für die gewählte Komponente bei gedrückter CTRL-Taste oder SHIFT-Taste (Block) möglich.

Tabelle 20.9.1.1: Konstanten der Klasse Select

20.9.2 Projekt

Im vorgestellten Projekt werden zwei Konstanten (Select.Single und Select.Multiple) eingesetzt, um die Auswahlmöglichkeiten von Dateien in der Komponente FileView festzulegen:

B1

Abbildung 20.9.2.1: Mode: Select.Single

B2

Abbildung 20.9.2.2: Mode: Select.Multiple

Hinweise:

  • Bei der Einfach-Auswahl einer Datei wird der Datei-Pfad angegeben.
  • Für die Mehrfach-Auswahl werden nur die Dateinamen in einer Liste in einer TextBox angezeigt. Das Trennzeichen ist das Pipe-Zeichen.
  • Sie können im Select-Modus 'Multiple' mehrere Dateien (einzeln) auswählen, wenn Sie die CTRL-Taste bei der Auswahl gedrückt halten. Eine Block-Auswahl von mehreren hintereinander liegenden Dateien erreichen Sie, wenn Sie nach der 1. Auswahl die SHIFT-Taste gedrückt halten und die letzte Datei im Block markieren. In beiden Fällen enthält wird die Dateiliste der ausgewählten Dateien in der Eigenschaft FileView1.Selection (DatenTyp Array) auslesbar sein.
  • Beim Wechsel von der Mehrfach-Auswahl auf die Einfach-Auswahl wird die letzte Datei aus der Liste der Mehrfach-Auswahl mit vollständigem Pfad angezeigt.
  • Beim Wechsel von der Einfach-Auswahl auf die Mehrfach-Auswahl wird keine Datei angezeigt.
  • Der aktuelle Select-Modus für die Komponente FileView wird in der StatusBar (→ Kapitel 18.14 StatusBar) angezeigt.

Der Quelltext ist überschaubar und wird daher komplett angegeben:

' Gambas class file
 
Private myStatusbar As Statusbar
 
Public Sub Form_Open()
 
  FMain.Center
  FMain.Resizable = False
 
  DirView1.Root = User.Home
  txbDirectory.Text = DirView1.Current
  txbFile.Clear
 
  Timer1.Delay = 1000
  Timer1.Start
 
  myStatusbar = New Statusbar(Me)
  myStatusbar.Add(0.3, Format$(Now, "dddd, dd/mm/yyyy hh:nn:ss")) ' 0.3 → 30% der StatusBar-Breite
  myStatusBar.SetBackground(0, &HEFFFDF)
  myStatusBar.SetForeground(0, &H000000)
  myStatusbar.SetToolTip(0, "Datum&Zeit")
  myStatusbar.SetAlignment(0, Align.Center)
 
  myStatusbar.Add(0.3, "Select-Mode:   Select.Single") ' Starteinstellung
  myStatusBar.SetBackground(1, &HFFFFDF)
  myStatusbar.SetAlignment(1, Align.Center)
 
' Die Feldlänge wird beim letzten Feld automatisch gesetzt → 0 eintragen
  myStatusbar.Add(0, "Programm-Version = " & Application.Version)
  myStatusBar.SetBackground(2, &HEFFFDF)
  myStatusbar.SetAlignment(2, Align.Center)
 
  btnFileSelectMode.Picture = Picture["Symbols/multiple.png"]
  btnFileSelectMode.Value = False
 
End ' Form_Open()
 
Public Sub Timer1_Timer()
  myStatusbar.SetText(0, Format$(Now, "dddd, dd/mm/yyyy hh:nn:ss")) 
End ' Timer1_Timer() : Aktuelle Zeit im Panel 0 der StatusBar anzeigen
 
Public Sub DirView1_Select()
  FileView1.Dir = DirView1.Current
  txbDirectory.Text = DirView1.Current
  txbFile.Clear
  FileView1.Mode = Select.Multiple
  lblFile.Text = "Dateiliste: "
  txbFile.Clear
End ' DirView1_Select()
 
Public Sub FileView1_Click()
  Dim sElement As String
 
  txbFile.Clear
  txbFile.Text = "| "
  If FileView1.Mode = Select.Single Then
     txbFile.Text = DirView1.Current &/ FileView1.Current
  Else
     For Each sElement In FileView1.Selection ' FileView1.Selection = Array mit den ausgewählten Dateien
         txbFile.Text &= sElement & " | " 
     Next ' sElement
  Endif ' FileView1.Mode = Select.Single ?
 
End ' FileView1_Click()
 
Public Sub btnFileSelectMode_Click()
 
  If btnFileSelectMode.Value = True Then ' Wenn True, dann ist Select.Multiple aktiv
     btnFileSelectMode.Picture = Picture["Symbols/single.png"]
     btnFileSelectMode.Tooltip = "Umschalten auf Select-Mode 'Single'"
     FileView1.Mode = Select.Multiple
     lblFile.Text = "Dateiliste: "
     txbFile.Clear
     myStatusbar.SetText(1, "Select-Mode:   Select.Multiple")
  Else
     btnFileSelectMode.Picture = Picture["Symbols/multiple.png"]
     btnFileSelectMode.Tooltip = "Umschalten auf Select-Mode 'Multiple'"
     FileView1.Mode = Select.Single
     lblFile.Text = "Dateipfad: "
     If FileView1.Selection.Count > 0 Then 
        txbFile.Text = DirView1.Current &/ FileView1.Selection[0]
     Endif ' FileView1.Selection.Count > 0 ?
     myStatusbar.SetText(1, "Select-Mode:   Select.Single")
  Endif ' btnSelectMode.Text = "  Select.Single" ?  
 
End ' btnFileSelectMode_Click()
 
Public Sub btnClose_Click()
  FMain.Close
End ' btnClose_Click()
 
Public Sub Form_Close()
  myStatusBar.Delete()
End ' Form_Close()

Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k20/k20.9/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools