Что нового

[Элементы GUI] Перемещение слайдера

DarkVenom

Новичок
Сообщения
4
Репутация
0
Необходимо выставление максимального положения слайдера в окне "Калибровка цветов экрана". "...\System32\dccw.exe" Через _GUICtrlSlider_SetPos ничего хорошего не вышло, так как непонятно, что брать за переменную самого слайдера. Через Send("{UP}") выходит слишком медленно, а через ControlClick просто убого. Как можно это реализовать более культурно?
 

erlik

Продвинутый
Сообщения
317
Репутация
84
Вот так получается только выставить значение слайдеру, но сам ползунок остается на месте. Почему так и как его сдвинуть на новую позицию я пока не понял. Но может кто подскажет.
Код:
Local $hSlider = ControlGetHandle('[CLASS:NativeHWNDHost]', "", 140) ; дескриптор слайдера
Local $aRange  = _GUICtrlSlider_GetRange($hSlider)    ; массив позиций: [0] min и [1] max
Local $iMax    = _GUICtrlSlider_GetRangeMax($hSlider) ; или просто получим только max значение
ConsoleWrite('$hSlider:' & $hSlider &'|Min:' & $aRange[0] & '|Max:' & $aRange[1] & @CRLF)
ConsoleWrite('Max:' & $iMax & @CRLF)
ConsoleWrite('GetPos:' & _GUICtrlSlider_GetPos( $hSlider) & @CRLF) ; узнаем текущую позицию
_GUICtrlSlider_SetPos( $hSlider,$iMax) ; установим максимальную
;_GUICtrlSlider_SetPos( $hSlider,$aRange[1])
ConsoleWrite('GetPos:' & _GUICtrlSlider_GetPos( $hSlider) & @CRLF)

---------------------------
Кстати - какой именно слайдер имелся ввиду? Так то их в этом окне несколько... В примере - слайдер 'настройка гаммы'.
 
Автор
DarkVenom

DarkVenom

Новичок
Сообщения
4
Репутация
0
Да, именно настройка гаммы. Спасибо и на этом, буду ждать дальнейшей помощи.
 
Автор
DarkVenom

DarkVenom

Новичок
Сообщения
4
Репутация
0
Вот это поворот... Спасибо Вам, очень помогли :smile:
 
Верх