Что нового

Скиновый Progress и Slider

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Сделал 2е UDF'ки для создания скиновых Progress и Slider, какое то время вылетали, исправил и стало нормально вроде работать, для большей уверенности, прошу Вас, кому не сложно протестировать их, за раннее спасибо.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
1. Постоянный вызов ___SetEvent() не есть хорошо. А что, если у меня будет 100 Slider'ов?
В любом случае, пока пользователь удерживает ЛКМ, другие события не будут регистрироваться. Поэтому гораздо лучше при нажатии на Slider войти в цикл до освобождения ЛКМ.

2. _WinAPI_SetWindowPos() является системной функцией и не совсем подходит для AutoIt GUI. Попробуйте переместить Slider, а затем свернуть и развернуть окно... Вы должны использовать GUICtrlSetPos(). Но почему вы до сих пор от нее не отказались? Все, что вам нужно, это один Pic. При перемещении бегунка вы его просто отрисовываете в новом месте и обновляете Pic, вот и все.



Добавлено:
Сообщение автоматически объединено:

Вообще, я вам советую сделать одну функцию _JSkin_Event(), которую пользователь сам будет переодически вызывать в цикле или через AdlibRegister(). А все внутренние события будут обрабатываться в этой функции. Как в Skin.au3...
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Понял, переделаю. При использовании GUICtrlSetPos() при перемещении контрола картинка жестоко моргает, я не смог избавится от морганий и применил _WinAPI_SetWindowPos()
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Viktor1703 сказал(а):
Понял, переделаю. При использовании GUICtrlSetPos() при перемещении контрола картинка жестоко моргает, я не смог избавится от морганий и применил _WinAPI_SetWindowPos()

Я же сказал, что вам нужен тоько Pic. Вот здесь у меня тоже типа Slider (вертикальный справа), который не использует GUICtrlSetPos().
 
Верх