Добрый день.
Предлагаю тут развивать тему скриптов AutoHotkey для базиса
Я ужа давно работаю в мебельщике с помощью PieMeny написанное на AutoHotkey. Ну и пару своих скриптов... Снял пару роликов на эту тему на ютьюбе. Кому интересно оставлю тут ссылочки
и
Интересно может кто-то еще использует AutoHotkey в работе? Хотелось бы посмотреть примеры использования.
Я попробовал выложить на гугл диск актуальную версию из второго видео, но гугл диск почему-то считает этот архив зло пакостным поэтому если кому надо пишите в телеграмме(@BNikitaG) поделюсь
Последний раз редактировалось Uncle; 05.10.2021 в 16:45..
Причина: ссылка на актуальную версию
Начал свой вариант делать, в 8 засада, если ничего не выделено, выпадает другое меню, а кнопки как у вас в картинке нет.
То есть в 8 надо что то выделять.
Скрипт "Свернуть всё" в структуре модели, помнится кто-то на JS хотел такое провернуть. На всякий случай, ещё добавил "Развернуть всё", может кому-то понадобится
Очередной скрипт, позволяющий ускорить вызов вспомогательной Параллельной линии или Биссектрисы. Можно конечно выбирать мышкой или переключаться стандартными Shift+4 или Shift+5, но для себя решил этот момент через двойное нажатие клавиши V. Если один раз нажать V- активируется Параллельная, если быстрое двойное нажатие V - Биссектриса.
Скрытый текст
PHP код:
;Вспомогательная = одно нажатие Параллельная линия, двойное Биссектриса $v:: Send {v} KeyWait, v KeyWait, v, D T0.5 ;Ждем 0.5 cекунды If ErrorLevel = 1 Send +{5} ;Если второе нажатие позже чем 0.5 cекунды else Send +{4} ;Если второе нажатие раньше чем 0.5 cекунды return
[свернуть]
P.S. Не обошлось без накладки. В режиме построения Профиля, значения смещаются на +1. Соответственно при одинарном значении активируется Биссектриса, а Параллельная не достается. Это пока первый затык...
Последний раз редактировалось skromvit; 21.06.2022 в 16:11.
Причина: БМ как всегда, в своем репертуаре...
skromvit
Можно проверить ширину Панели параметров.
Но минус всё равно есть, вы не сможете печатать эту букву.
PHP код:
$v::
KeyWait, v
KeyWait, v, D T0.5 ;Ждем 0.5 cекунды
Wait := !!ErrorLevel
ControlGetPos, CtrlX, CtrlY, CtrlW, CtrlH,
, % "ahk_id" FindTSpTBXToolbar("Панель параметров")
i := 4 + Wait
i += (CtrlW > 367) ; 367 подставить свою ширину
Send {v}+{%i%}
return
FindTSpTBXToolbar(text, hwnd = 0, id = 0) {
Win := hwnd ? "ahk_id" hwnd : "A"
Loop
{
ControlGet, HWND, HWND, , TSpTBXToolbar%A_Index%, %Win%
If !HWND
Return 0
If !DllCall("IsWindowVisible", "Ptr", HWND)
Continue
ControlGetText, gText, , ahk_id %HWND%
If (gText = text)
Return HWND
}
Return 0
}
По правильному надо делать через acessible, как сделано в #137, там вызовы пунктов не зависят от позиций в Menu, или как в этом случае в Toolbar, и от нажатий Shift+ и каких либо ещё.