Benutzer-Werkzeuge

Webseiten-Werkzeuge


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

Wir verwenden Cookies, um unser Internetangebot optimal zu gestalten. Durch weitere Nutzung dieser Webseite stimmen Sie der Verwendung von Cookies zu. Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung
k20/k20.9/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge