Ermittelt ein Array, welches die logischen Positionen für die Skalenstriche für einen Slider enthalten
#include <GuiSlider.au3>
_GUICtrlSlider_GetLogicalTics ( $hWnd )
$hWnd | Control-ID / Handle des Controls |
Erfolg: | Ein Array mit logischen Positionen |
Fehler: | Setzt das @error Flag auf ungleich null |
Die Anzahl von Items im Array ist kleiner als die Anzahl von Strichen, welche durch _GUICtrlSlider_GetNumTics() zurückgegeben wird.
Es ist zu beachten, dass die Werte im Array doppelte Positionen enthalten könnten und nicht in der richtigen Reihenfolge sind.
Die Daten im zurückgegeben Array sind gültig bis die Skalenstriche geändert werden
Die Items des Arrays stellen die logischen Positionen der Skalenstriche dar.
Allerdings wird der erste und letzte Strich durch den Slider erstellt.
Die logischen Positionen können irgendein Integerwert zwischen der minimalen und maximalen Sliderposition sein.
- - - - - - - - Erklärung der Controls - - - - - - - -
#include <GUIConstantsEx.au3>
#include <GuiSlider.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $idSlider, $aTics
; Erstellt eine GUI
GUICreate("Slider: Ermittelt die logischen Positionen für die Skalenstriche", 550, 296)
$idSlider = GUICtrlCreateSlider(2, 2, 300, 20, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
$g_idMemo = GUICtrlCreateEdit("", 2, 32, 546, 266, $WS_VSCROLL)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
$aTics = _GUICtrlSlider_GetLogicalTics($idSlider)
MemoWrite("Anzahl der Skalenstriche inklusive dem ersten und letzten : " & UBound($aTics))
For $x = 0 To UBound($aTics) - 1
MemoWrite(StringFormat("(%02d) logischen Positionen für die Skalenstriche ..........: %d", $x, $aTics[$x]))
Next
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example
; Gibt eine Zeile im Memo-Fenster aus
Func MemoWrite($sMessage)
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite