Wählt eines oder mehrere aufeinanderfolgende Items einer Mehrfachauswahl-Listbox aus
#include <GuiListBox.au3>
_GUICtrlListBox_SelItemRangeEx ( $hWnd, $iFirst, $iLast )
$hWnd | Control-ID / Handle des Controls |
$iFirst | 0-basierender Index des ersten zu markierenden Items |
$iLast | 0-basierender Index des letzten zu markierenden Items |
Erfolg: | True |
Fehler: | False |
Falls $iFirst kleiner ist als $iLast, wird der festgelegte Bereich von Items ausgewählt.
Falls $iFirst größer oder gleich $iLast ist, wird die Markierung entfernt.
Um nur ein Item auszuwählen, sind zuerst zwei Items auszuwählen und dann unnötige Item abzuwählen.
Diese Funktion funktioniert nur in einer Mehrfachauswahl-Listbox.
Diese Funktion kann nur einen Bereich innerhalb der ersten 65.536 Items auswählen.
- - - - - - - - Erklärung der Controls - - - - - - - -
#include <GUIConstantsEx.au3>
#include <GuiListBox.au3>
Example()
Func Example()
Local $sText, $idListBox
; Erstellt eine GUI
GUICreate("ListBox: Wähle Item RangeEx", 400, 296)
$idListBox = GUICtrlCreateList("", 2, 2, 396, 296, BitOR($LBS_STANDARD, $LBS_EXTENDEDSEL))
GUISetState(@SW_SHOW)
; Fügt Strings hinzu
_GUICtrlListBox_BeginUpdate($idListBox)
For $iI = 1 To 10
$sText = StringFormat("%03d : Zufallstring ", Random(1, 100, 1))
For $iX = 1 To Random(1, 20, 1)
$sText &= Chr(Random(65, 90, 1))
Next
_GUICtrlListBox_AddString($idListBox, $sText)
Next
_GUICtrlListBox_EndUpdate($idListBox)
; Wählt einige Items aus
_GUICtrlListBox_SelItemRangeEx($idListBox, 3, 5)
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example