Функция _GUICtrlSlider_GetTicPos

 ↑  ←  Описание функции


_GUICtrlSlider_GetTicPos

Возвращает физическую позицию метки

#include <GuiSlider.au3>
_GUICtrlSlider_GetTicPos($hWnd, $iTic)

Параметры

$hWnd Дескриптор или идентификатор элемента
$iTic Значение метки-деления, отсчёт от 0. Позиции первой и последней метки не доступны с помощью вызова этой функции.

Возвращаемое значение

Успех: Возвращает следующие значения для двух типов Slider:

    Горизонтальный - X-координата метки
    Вертикальный - Y-координата метки
Ошибка: Возвращает -1

Примечания

Потому что первая и последняя метки не доступны с помощью вызова этой функции, валидные значения смещены от этих значений на одно деление. Если разница между _GUICtrlSlider_GetRangeMin и _GUICtrlSlider_GetRangeMax меньше 2, то не существует валидных значений и эта функция возвратит неудачное выполнение.

Пример

#include <GUIConstantsEx.au3>
#include <GuiSlider.au3>

$Debug_S = False ; Проверяет ClassName передаваемый в функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $iTic = Random(1, 99, 1), $hSlider

    ; Создаёт GUI
    GUICreate("Получает координату метки", 400, 296)
    $hSlider = GUICtrlCreateSlider(2, 2, 396, 35, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
    GUISetState()

    ; Получает координату метки
    MsgBox(4160, "Информация", StringFormat("Метка %d:\nX-координата: %d", $iTic, _GUICtrlSlider_GetTicPos($hSlider, $iTic)))

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main