_GUICtrlSlider_Create
Создаёт Slider (слайдер, регулятор, ползунок)
#include <GuiSlider.au3>
_GUICtrlSlider_Create($hWnd, $iX, $iY [, $iWidth = 100 [, $iHeight = 20 [, $iStyle = 0x0001 [, $iExStyle = 0x00000000]]]])
Параметры
$hWnd | Дескриптор родительского окна или окна владельца |
$iX |
X-координата левого края элемента |
$iY |
Y-координата верхнего края элемента |
$iWidth |
[необязательный] Ширина |
$iHeight |
[необязательный] Высота |
$iStyle |
[необязательный] Стили элемента: $TBS_AUTOTICKS - Добавляет метки делений при установке диапазона слайдера с помощью сообщение $TBM_SETRANGE. $TBS_BOTH - Установить метки делений слайдера с обоих сторон. $TBS_BOTTOM - Установить метки делений снизу для горизонтального слайдера. $TBS_DOWNISLEFT - Вниз тоже что влево, а вверх тоже что вправо. $TBS_ENABLESELRANGE - Метки начальной и конечной позиции выделенного диапазона отображаются как треугольники (вместо вертикальных тире), и выделенный диапазон подсвечивается $TBS_FIXEDLENGTH - Фиксированный размер ползунка. Размер можно изменить сообщением $TBM_SETTHUMBLENGTH $TBS_HORZ - Создаёт горизонтальный слайдер (по умолчанию). $TBS_LEFT - Установить метки делений слева для вертикального слайдера. $TBS_NOTHUMB - Создаёт слайдер без ползунка. $TBS_NOTICKS - Не отображать меток делений у слайдера. $TBS_REVERSED - Меньшее число означает "выше", а большее число означает "ниже" $TBS_RIGHT - Установить метки делений справа для вертикального слайдера. $TBS_TOP - Установить метки делений сверху для горизонтального слайдера. $TBS_TOOLTIPS - Создаёт по умолчанию подсказку, отображающую текущую позицию ползунка при перемещении. $TBS_VERT - Создаёт вертикальный слайдер. |
По умолчанию: $TBS_AUTOTICKS Принудительно : $WS_CHILD, $WS_TABSTOP, $WS_VISIBLE | |
$iExStyle |
[необязательный] Расширенный стиль элемента. Соответствует стандартным константам $WS_EX_. По умолчанию: $WS_EX_STATICEDGE |
Возвращаемое значение
Успех: | Возвращает дескриптор Slider |
Ошибка: | Возвращает 0 |
Примечания
Эта функция предназначена для опытных пользователей и для изучения того, как элемент работает.См. также
_GUICtrlSlider_DestroyПример
#include <GUIConstantsEx.au3>
#include <GuiSlider.au3>
#include <WindowsConstants.au3>
$Debug_S = False ; Проверяет ClassName передаваемый в функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
Global $hSlider
_Main()
Func _Main()
Local $hGUI
; Создаёт GUI
$hGUI = GUICreate("(UDF) Создаёт Slider", 400, 296)
$hSlider = _GUICtrlSlider_Create($hGUI, 2, 2, 396, 35, BitOR($TBS_TOOLTIPS, $TBS_AUTOTICKS))
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndSlider
$hWndSlider = $hSlider
If Not IsHWnd($hSlider) Then $hWndSlider = GUICtrlGetHandle($hSlider)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndSlider
Switch $iCode
Case $NM_RELEASEDCAPTURE ; Элемент освобождает захват мыши
_DebugPrint("$NM_RELEASEDCAPTURE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
"-->IDFrom:" & @TAB & $iIDFrom & @LF & _
"-->Code:" & @TAB & $iCode)
; Нет возвращаемых значений
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Func _DebugPrint($s_text, $line = @ScriptLineNumber)
ConsoleWrite( _
"!===========================================================" & @LF & _
"+======================================================" & @LF & _
"-->Строка(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
"+======================================================" & @LF)
EndFunc ;==>_DebugPrint