Loopback
|
Posted: Fri Apr 12, 2024 23:55 Post subject: |
|
|
В общем тултипы таки родились. Версия предварительная, есть не всё, и что-то еще будет меняться. Справки, понятно, пока тоже нет. Добавлены две новые функции:
Code: | ShowHint("text" [, x, y]) |
Универсальная функция отображения подсказки. Закрывается кликом на самой подсказке, на свободном месте окна или по ESC. Цвета берутся из настроек TC. Поддерживает темную тему и переключение командой cm_SwitchDarkmode. По умолчанию, без задания x, y, показывается под курсором.
Code: | ControlSetHint [/B:nn] <id> <text> |
Регистрирует подсказку по наведению на элемент окна TC. Принцип регистрации и работа переключателя /B аналогичны ControlSetMouseAction (кроме контрола "0" и соответствующих зон).
Пример: отображает подсказку при наведении на кнопке F3 Просмотр.
Code: |
ControlSetHint /B:1 17 "My hint"
|
С этой функцией есть проблема: поскольку не происходит перехвата фокуса от ТС, не получается закрыть имеющуюся подсказку контрола. Так что пока функция бесполезна для контролов с собственной подсказкой. Пробовал находить и прятать окна со стандартным классом тултипа, но подсказка тотала не прячется. Предполагаю, что тотал оперирует чем-то самописным.
Теперь по вопросам.
Orion9 wrote: | Просто меня приколол консольный вывод в тултип, а если при этом не использовать консольный шрифт, то все рушится (визуально) и не имеет большого смысла. |
В принципе, если вводить не сразу, а обработать, то наверняка можно добиться красивого вывода и без моноширинных шрифтов. Посмотрим, очень уж много времени уходит на все эти визуальные изыски. Делать отдельные настройки цветов/шрифтов под каждую подсказку - это куча ключей, да и внутренне обработка изрядно усложняется.
Orion9 wrote: | А что делать с тем, что Тотал перекрывает своим тултипом чужой тултип |
Для тултипа, который вызывается вручную, ничего не делать, он выходит на передний план, соответственно тоталовская подсказка гасится. Кстати, похоже это единственный способ спрятать родную подсказку. Для подсказок по наведению пока не решено.
Orion9 wrote: | Но вот с файлом tweaks_20230825.zip (версия плагина 1.2.1.3) возникла проблема. |
Проверил указанный код на сегодняшней версии, вроде всё работает.
Orion9 wrote: | возникает ошибка Символ "_" не разрешён в этом месте. |
Надо будет проверить, вроде должно быть допустимое сочетание. С именами функций, кстати, та же проблема.
Orion9 wrote: | В справке к команде SetMessageAction присутствует целый абзац, который, очевидно, принадлежит другой команде |
Да, просто копипаст, нужно SetHotkeyAction заменить на SetMessageAction. В исходнике исправил. |
|