Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 134, 135, 136 ... 138, 139, 140  Next  :| |:
Total Commander -> Плагины Total Commander

#2011:  Author: Monarch-LFV PostPosted: Tue Apr 23, 2024 11:42
    —
Loopback
Да, заработало, спасибо!
Единственное, в первой записи запятая лишняя:
Code:
SetEnv portable %"%PP%"

#2012:  Author: Orion9 PostPosted: Tue Apr 23, 2024 14:29
    —
Quote:
Нет, узнать надежно какая кнопка нельзя. Ну я во всяком случае не представляю, как это можно сделать. Максимум что можно, наверно, это например найти 5 кнопку слева. Но толку от этого никакого нет. Да и смысл, у кнопок панелей свои настраиваемые подсказки.

Эти подсказки не умеют раскрывать переменные окружения, но меня интересует даже не это. Хотелось бы задать координаты хинту так, чтобы он всплывал под нужной кнопкой при вызове. Видел краем глаза, что есть какие-то функции поиска пикселей на экране или в окне, нельзя из этого что-то выжать?
Quote:

Ну хорошо, как вы себе это представляете, без "танцев"? Ну вот хотя бы в виде псевдокода, или пример из другого языка живой. Просто мне кажется мы по-разному понимаем эти вещи.

Вы все правильно поняли. Мне просто хотелось бы, чтобы плагин имел возможность сообщать о своем статусе в диалоговом окне: версии, даты, пути, что загружено и что выполняется - вот и все. Без дополнительно вмешательства со стороны пользователя.

#2013:  Author: Loopback PostPosted: Tue Apr 23, 2024 16:24
    —
Orion9 wrote:
Хотелось бы задать координаты хинту так, чтобы он всплывал под нужной кнопкой при вызове.

Если при вызове, то для этого Autorun вообще не нужен. Скриптовые языки лучше подойдут.

При управлении с клавиатуры думаю не вариант, не к чему привязаться.

При вызове мышью шанс есть, но точно вряд ли получится, только тотал знает границы своих кнопок. В принципе можно просто выводить подсказку под курсором. Можно более-менее определить нижнюю границу каждой строки и сместить к ней, но вот с положением по X проблема.

Расчёт нижней границы строки я делал в одном проекте для меню. Координата X гуляет в пределах ширины кнопки, но меня это устраивает. Вот код (Autoit):

 Hidden text


В теории, наверно, можно что-то нагородить, читая связанный .bar и, исходя из его содержимого, вычислять горизонтальное смещение, учитывая разную ширину кнопок и разделителей, а также переход на другую строку. Но по-моему это уже перебор.

Orion9 wrote:
Мне просто хотелось бы, чтобы плагин имел возможность сообщать о своем статусе в диалоговом окне: версии, даты, пути, что загружено и что выполняется - вот и все.


Ладно, резюмирую. С "версии, даты, пути" всё понятно. C "загружено" 50/50 (плагины? прочие dll? выполняющиеся exe? шрифты?). С потоками вообще непонятно, что именно и в каком виде. В конце-концов, как всю эту информацию сделать читабельной в MsgBox или подсказке (на всякий случай: вариант специального окна даже не рассматривается). Так что отложим до появления конкретики.

#2014:  Author: Orion9 PostPosted: Tue Apr 23, 2024 18:43
    —
Quote:
Если при вызове, то для этого Autorun вообще не нужен. Скриптовые языки лучше подойдут.

Да, речь шла о теории, как таковой. Поскольку передать полученные координаты в ваш тултип в Autorun или использовать для этого другой тултип (скриптовый) - это дело не сложное.
Quote:
Расчёт нижней границы строки я делал в одном проекте для меню. Координата X гуляет в пределах ширины кнопки, но меня это устраивает. Вот код (Autoit):

Больше всего мне в ваших скриптах нравятся английские комментарии. Рутинное чтение научных трудов превращается в чтение художественных романов в жанре adventure.))
Но я все-таки расчитывал, что как-то можно найти иконку по пикселям. Для меня API Windows еще темный лес, не говоря уж о графическом API.
Quote:
Так что отложим до появления конкретики.

Все примерно так. Чем больше релевантной информации, тем лучше. К путям можно еще добавить модули, успешно подключенные по директивам Pragma Include. Еще можно добавить информацию по горячим клавишам, которые висят на SetHotkeyAction и зарегистрированным SetMessageAction функциям, которые ожидают сообщений. Начать можно и с простого MsgBox, а что касается потоков, то тут, наверное, ничего больше не добавишь, кроме того, что они выполняются + время старта каждого по отдельности + опционально общее время его выполнения, ведь отдельный поток может быть запущен необязательно вместе (одновременно) с самим модулем Autorun, а гораздо позже.

#2015:  Author: Loopback PostPosted: Tue Apr 23, 2024 23:00
    —
Orion9 wrote:
Больше всего мне в ваших скриптах нравятся английские комментарии

Давняя привычка. Как ни крути, английский сейчас де-факто стандарт для языков программирования и документации. Зато для большинства читающих код не нужно лезть в переводчик. А то встречался код с комментариями то на немецком, то на японском, вот где боль Smile

Orion9 wrote:
Но я все-таки расчитывал, что как-то можно найти иконку по пикселям.

Да можно наверно. В AHK есть функции ImageSearch, PixelSearch. Но это настолько малонадежный и медленный способ, что я никогда его серьезно не рассматривал.

#2016:  Author: Orion9 PostPosted: Wed Apr 24, 2024 00:09
    —
Quote:
В AHK есть функции ImageSearch, PixelSearch. Но это настолько малонадежный и медленный способ, что я никогда его серьезно не рассматривал.

Надо будет глянуть при первой возможности. Скорость меня не пугает, т.к. задача все-равно будет в фоне выполняться. Хочу, чтобы хинт получил нужные координаты и всплыл в нужном месте. Своего рода нотификация.
 P.S.

#2017:  Author: Orion9 PostPosted: Sat Apr 27, 2024 00:50
    —
Loopback
Создаю ControlSetHint /H:2 0 %"%TitleHint%"

Работает, однако:

В ходе выполнения переменная TitleHint меняется, но при наведении на заголовок, всплывает старое (первичное) ее значение.

То же самое делаю с ControlSetMouseAction /R /H:2 0 MsgBox %TitleHint%

А в этой функции все работает так, как ожидается.

Так как заставить ControlSetHint подхватывать изменения?

#2018:  Author: Loopback PostPosted: Sat Apr 27, 2024 12:41
    —
Orion9 wrote:
А в этой функции все работает так, как ожидается.

А просто не надо ожидать от ControlSetHint того, чего в ней не заложено Very Happy Ладно, это шутка, понятно, что пока на нее нет нормальной документации.

В общем тут даже название параметра - "текст". Против "команда" в ControlSetMouseAction. CSMA выполняет команду каждый раз при активации сочетания, и это логично, т к. сама функция больше ничего не делает. Делать то же самое для ControlSetHint было мало смысла, т.к. у неё есть собственная функция - отобразить подсказку.

Можно, конечно, попробовать сделать по аналогии с ShowPopupMenu, добавить ключ, чтобы текст трактовался как функция, которая должна вернуть текст подсказки. Вот только где и зачем это может понадобиться? Да и по производительности есть определенные опасения.

#2019:  Author: Orion9 PostPosted: Sat Apr 27, 2024 23:50
    —
Quote:
Ладно, это шутка, понятно, что пока на нее нет нормальной документации.

Да норм прикол, полно вам.)

Разумеется, я опасался, что из этого ничего не выйдет, но когда увидел, что ControlSetHint /H:2 0 %"%TitleHint%" отработала без проблем, надежда все же затеплилась))
Quote:

Можно, конечно, попробовать сделать по аналогии с ShowPopupMenu, добавить ключ, чтобы текст трактовался как функция, которая должна вернуть текст подсказки. Вот только где и зачем это может понадобиться?

Это может понадобиться в моих непрекращающихся эксперементах с заголовком Laughing Вот, очередная затея с информерами от яндекса) Не уверен, что это правильный способ получения данных, но как говорится "я его слепила из того, что было, а потом, что было, то и..."
 Hidden text

Quote:
Да и по производительности есть определенные опасения.

Ну, это не проблема. Пусть пользователь сам понимает и принимает все риски подобных экспепементов. В конце концов, для чего еще нужен Тотал, если не для проб и экспериментов, для копировования файлов что ли? Для этого у меня проводник есть Mr. Green

P.S.Там, кстати, в подсказке одна буква отъедается в конце. Забыл в тот раз написать.

#2020:  Author: Loopback PostPosted: Tue Apr 30, 2024 21:01
    —
Версия Tweaks от 30.04.2024

- изменены 0/1 для указания типа функции в SetHintParam, теперь можно использовать имена функций или аббревиатуры: ControlSetHint (csh) и ShowHint (sh).
- исправлено обрезание последнего символа в подсказках
- добавлена возможность трактовать текст как имя функции, возвращающей текст подсказки (использован переключатель /F для единообразия с ShowPopupMenu)
- переключатель для смены фокуса теперь /O вместо /F

#2021:  Author: Orion9 PostPosted: Tue Apr 30, 2024 23:49
    —
Loopback
Спасибо! Попробуем, заценим...))

Добавлено спустя 21 минуту:

Ну вот теперь работает все чётко!
 P.S.

Еще раз спасибо! Smile

#2022:  Author: Orion9 PostPosted: Sat May 11, 2024 01:05
    —
Loopback
Тултип - топ. Спасибо за бесценный труд!

А можно к нему еще сделать параметр задержки? Иногда требуется, чтобы он не сразу всплывал в определенном месте, например, при наведении на заголовок.

#2023:  Author: Loopback PostPosted: Sat May 11, 2024 10:24
    —
Orion9
Не уверен что понимаю. ControlSetHint и так имеет настраиваемую задержку, правда одну на все, технически не получится сделать индивидуальные. А для ShowHint это не имеет смысла, как вызываешь, так и всплывает.

#2024:  Author: Orion9 PostPosted: Sun May 12, 2024 00:51
    —
Loopback
При наведении на заголовок, хинт всплывает достаточно быстро, что с одной стороны хорошо, но с другой стороны мешает, когда требуется сделать по заголовку двойной клик или вызвать контекстное меню. Более того, хинт почему-то всплывает при наведении на кнопку сворачивания окна, хотя по идее он этого не должен делать. В итоге, после сворачивания окна, он продолжает висеть поверх других окон (или рабочего стола), причём убрать его никак нельзя, только если снова развернуть окно ТС.

Было бы хорошо, если для таких случаев и не только, можно было задавать задержку отдельному хинту, не затрагивая другие. Разумеется, если во время такой задержки курсор мыши уходит с контрола, то хинт вообще не появляется. Другими словами, если я навожу на заголовок, мне нужно, чтобы подсказка появилась не сразу, а через 1-1.5, а может и две секунды.

#2025:  Author: Loopback PostPosted: Sun May 12, 2024 11:17
    —
Orion9 wrote:
При наведении на заголовок

А я разве делал и заявлял возможность подсказок на заголовке окна? Выглядит это как баг. Хорошо бы увидеть код, как создается хинт.
Orion9 wrote:
можно было задавать задержку отдельному хинту, не затрагивая другие.

Уже писал выше, что отдельную задержку сделать очень проблематично.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 134, 135, 136 ... 138, 139, 140  Next  :| |:
Page 135 of 140

Powered by phpBB © 2001, 2005 phpBB Group