1 (изменено: Chp11, 2022-01-22 16:53:32)

Тема: AHK: Горячие клавиши для ползунков и чекбоксов

Здравствуйте. Для САПР Rhinoceros есть плагин Clayoo. К сожалению, в плагине не для всех действий можно настраивать хоткеи.

У двух ползунков (1 и 2) уже есть хоткеи:
   Radius – Alt + LMB (влево-вправо)
   Intensity – Alt + LMB (вверх-вниз)
Но они не очень удобные и я хотел бы их перенастроить на другие сочетания клавиш.

Для функций Negative и Symmetry вовсе нет никаких горячих клавиш. Я хотел бы их настроить.

С помощью утилиты Window Spy я пытался исследовать окно плагина. Я новичек, многого не понимаю, но такое ощущение, что обращаться к этим управляющим элементам можно только по координатам. Хотя могу ошибаться. Если нет возможности перенастроить ползунки, то хотя бы как-то чекбоксы оживить хоткеями.
Пожалуйста, помогите советом.

Post's attachments

Clayoo.jpg
Clayoo.jpg 25.05 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Скриншот никак не поможет разобраться с ситуацией. Советую не писать каждое предложение с новой строки, выглядит фриковато.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Если окно стандартное, можно попробовать включать / выключать чекбоксы:

F2::
Name := "Cripto v1"	; Титул окна.
List := [1, 3, 4, 2, 5]	; Список номеров контролов.
loop, % List.Count(){	; Обход списка:
 I := "Button" . List[A_Index]
 Control, Uncheck,, % I, % Name
 Sleep, 100
 Control, Check,, % I, % Name
}
Return
Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

4 (изменено: Chp11, 2022-01-22 18:35:04)

Re: AHK: Горячие клавиши для ползунков и чекбоксов

__Михаил__, спасибо Вам большое за ответ!
Я создал скриншот в то же время когда кликнул на чекбокс Negative.
Подскажите пожалуйста, где посмотреть номера контролов?

Post's attachments

Screen01.jpg 80.37 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

5

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Если навести курсор на чекбокс должно появиться: 'ClassNN: Button(номер)'

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

6 (изменено: Chp11, 2022-01-22 19:08:19)

Re: AHK: Горячие клавиши для ползунков и чекбоксов

__Михаил__, при наведении на два разных чекбокса ClassNN не меняется.
Это значит, что окно нестандартное?

+ открыть спойлер

https://i.ibb.co/sjt65Ff/Screen02.jpg

7 (изменено: __Михаил__, 2022-01-22 19:08:42)

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Я бы сказал, что это полностью блокирует работу с окном.
Хотя возможно есть обходной путь.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

8 (изменено: Chp11, 2022-01-22 19:13:46)

Re: AHK: Горячие клавиши для ползунков и чекбоксов

__Михаил__, понятно.
Спасибо за то что уделили время.
Может быть можно кликать по координатам чекбоксов.

9

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Да можно по координатам:

Name := "Название окна"

F2::
ControlClick, x18 y118, % Name ; Указать свою позицию.
Return

Только окно не всегда принимает.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

10 (изменено: Chp11, 2022-01-22 19:27:59)

Re: AHK: Горячие клавиши для ползунков и чекбоксов

__Михаил__, вписал позицию и название окна в ваш скрипт. Почему-то не работает.

Для меня сработал вот этот вариант:

Home::
CoordMode, Mouse, Screen
Click, 1737, 494
return

Но в этом варианте курсор перемещается непосредственно в точку чекбокса.
Я понимаю, что так наверное и должно быть.
По-другому никак наверное?
Другими словами, нельзя же кликать в чекбокс не перемещая туда курсор?

11

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Команда 'ControlClick' как раз для того, что бы окно можно было не активировав кликать мышкой по некоторым кнопкам.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

12

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Попробуйте такой вариант:

F2:: ; Клик по координатам:
ControlClick, x%X% y%Y%, Ahk_PID %PID%
Return

F3:: ; Сохранить позицию и окно:
MouseGetPos, X,Y
WinGet, PID, PID, A
MsgBox, % "PID: " PID "`n" X ", " Y
Return
Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

13 (изменено: Chp11, 2022-01-22 20:12:53)

Re: AHK: Горячие клавиши для ползунков и чекбоксов

__Михаил__, навожу на нужный чекбокс, нажимаю F3, получаю в ответ PID и две координаты, вбиваю их в скрипт, перезапускаю скрипт. Не работает.

F2:: ; Клик по координатам:
ControlClick, x1744 y502, Ahk_PID 16208
Return

F3:: ; Сохранить позицию и окно:
MouseGetPos, X,Y
WinGet, PID, PID, A
MsgBox, % "PID: " PID "`n" X ", " Y
Return

14

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Ничего вбивать не нужно, скрипт сам кликнет в окно по нажатию на F2. Отображение координат можно убрать.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

15

Re: AHK: Горячие клавиши для ползунков и чекбоксов

__Михаил__, я имел ввиду, что вставил PID и координаты в скрипт ))
Не работает такой вариант почему-то.

16

Re: AHK: Горячие клавиши для ползунков и чекбоксов

Значит этот вариант отпадает.

Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101