Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
У меня пока нет времени на тщательное тестирование новых версий плагина (очень надеюсь заняться этим попозже), но при беглом просмотре новой справки к 2.0.9 beta обратил внимание вот на что.
Для команды ModifyDialogs указаны значения параметра /VER:<версия>:
950 Поддержка для версии TC от 9.50 до 9.51
920 Поддержка для версии TC от 9.20 до 9.21а

Предполагаю, что должно быть не 9.21a, а 9.22a, иначе весь диапазон версий не перекрывается. Если я прав, надо будет уточнить. Это касается и ридми, где прежний диапазон указан и вовсе как 9.20-9.21.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):По "/QUEUEBTN" - кнопку "В очередь" необходимо добавлять в любом случае, даже если не планируете ее перемещать, поскольку по ее наличию определяется тип диалога ("Создать ярлык" имеет тот же класс, ох уж эта гислеровская экономия).
Loopback писал(а):/QUEUEBTN давно упразднён и не работает в коде.
А что же теперь делать с диалогом создания ярлыка? У меня там кнопка ОК на следующую наезжает.

Что касаемо ControlSetMouseAction /X1|2. Кнопки работают, но только совместно с дефолтным переходом по истории. Поэтому тут требуется ключ переопределения, иначе в таком виде это теряет смысл. Вероятно, это поможет и с прокруткой табов. И в отношении /R нужно сделать нечто, запрещающее вызов контекстных меню.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А, ты меня не так понял. StrPos Name+1 ... — хотелось не Name1 как новое имя переменной, а %Name% далее должно вернуть <значение позиции + 1>.
Да без разницы, возможно и так и этак :)
Flasher писал(а):Сам не понял, зачем тут лишний пустой параметр.
Я же писал, сначала плагин использовал Class+Instance для получения хэндлов. А потом нашел лучше способ.
Flasher писал(а):Попробовал на тулбар натравить — результат тот же:
Ну я уже даже не знаю тогда. Варианта только два - либо у тебя тотал < 9.00 (сомневаюсь), либо какие-то другие плагины конфликтуют. У меня на трех разных установках тотала никаких проблем нет.
Flasher писал(а):А с учётом появления вычислений в переменных, будет кстати появление динамической переменной с индексом 1000 (WM_USER+50) для выяснения, какой является активная панель (1/2). Пару примеров в скриптах уже приводил. Актуально и для случая с прокруткой табов только в соотв. расположению указателя панели: 28-%var% = 26/27.
Не особо понял. Переменную сделать можно (либо команду-враппер), но ее значение будет получаться только при загрузке, после уже не поменяешь.
Avada писал(а):Предполагаю, что должно быть не 9.21a, а 9.22a, иначе весь диапазон версий не перекрывается.
Возможно, у меня просто не было установленной 9.22, надо будет проверить потом на ней.
Flasher писал(а):А что же теперь делать с диалогом создания ярлыка? У меня там кнопка ОК на следующую наезжает.
А условия для чего? /QUEUEBTN за ненадобностью была убрана после появления условий.

Сейчас актуальный код (который по умолчанию):
[cut]
If %AUTORUN_TCARCH% = 32 Then
AddDialog DIALOG_COPYMOVE
# кнопка TButton1 видима только в диалогах копирования/перемещения
# поставим условие, чтобы исключить диалоги создания ссылки
# и загрузки/выгрузки плагинов и FTP
AddCondition /VISIBLE:1 "TButton" 1
AddControl /X:17 /Y:-74 /W:-20 "TButton" 2
AddControl /X:109 "TButton" 1
AddControl /X:109 "TButton" 3
AddControl /X:109 "TButton" 4
AddControl /X:109 "TButton" 5

AddDialog DIALOG_COPYMOVE_PINNED
AddControl /X:109 "TButton" 1
AddControl /X:109 "TButton" 3
AddControl /X:109 "TButton" 4
AddControl /X:109 "TButton" 5

Else

AddDialog DIALOG_COPYMOVE
AddCondition /EXISTS:1 "Button" 7
AddControl /X:17 /Y:-73 /W:-20 "Button" 3
AddControl /X:109 "Button" 7
AddControl /X:109 "Button" 2
AddControl /X:109 "Button" 6
AddControl /X:109 "Button" 5

AddDialog DIALOG_COPYMOVE_PINNED
AddControl /X:109 "Button" 12
AddControl /X:109 "Button" 7
AddControl /X:109 "Button" 11
AddControl /X:109 "Button" 10
Endif

ModifyDialogs
[/cut]
Flasher писал(а): Что касаемо ControlSetMouseAction /X1|2. Кнопки работают, но только совместно с дефолтным переходом по истории. Поэтому тут требуется ключ переопределения, иначе в таком виде это теряет смысл. Вероятно, это поможет и с прокруткой табов.
А, значит всё-таки что-то работает.

Что за ключ переопределения не понял.
Flasher писал(а): И в отношении /R нужно сделать нечто, запрещающее вызов контекстных меню.
Наверно можно, но имхо это не совсем правильно, т.к. фактически нарушает нормальное функционирование программы.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Да без разницы, возможно и так и этак
Ух ты. А как же эдак сделать? :) Просто писать формулу типа %Name+1? Или %(Name+1)? Или %"Name+1"?
Loopback писал(а): Варианта только два - либо у тебя тотал < 9.00 (сомневаюсь), либо какие-то другие плагины конфликтуют.
Я же писал версию ТС — LAST. Проверяется Тотал в почти стирильных условиях, то бишь с одним Autorun из любых плагинов. Поэтому тут ни то, ни другое.
Loopback писал(а):Не особо понял.
Что именно?
Loopback писал(а):но ее значение будет получаться только при загрузке, после уже не поменяешь.
Это не годится. Я пишу о динамической. Ты же получаешь хэндлы не только на старте. Вот и эту переменную нужно. Можно её вообще одним символом (без процентов) сделать — @, например:

Код: Выделить всё

ControlSetMouseAction /W:F %"28-@" CMD 3005
ControlSetMouseAction /W:R %"28-@" CMD 3006
Loopback писал(а):А условия для чего?
А, по наличию кнопки F2, торможу. Получилось. :)
Закинь в help тогда второй вариант с равными и переставленными (двумя) кнопками для 9.50+ x32:[cut]

Код: Выделить всё

AddDialog /W:-6 DIALOG_COPYMOVE
AddCondition /VISIBLE:1 "TButton" 1
AddControl /X:-3 /W:-3 TMyComboBox 2
AddControl /X:-3 /W:-3 TMyComboBox 1
AddControl /X:-3 TMyCheckBox 2
AddControl /X:1 TMyCheckBox 1
AddControl /X:-3 /Y:-2 /W:-8 TButton 5
AddControl /X:-11 /Y:-2 /W:-8 TButton 1
AddControl /X:-19 /Y:-2 /W:11 TButton 4
AddControl /X:-99 /Y:-2 /W:-9 TButton 2
AddControl /X:95 /Y:-2 /W:12 TButton 3
AddControl /X:1 /W:-4 TMyGroupBox 1
AddDialog DIALOG_COPYMOVE_POST
AddControl /X:1 TBitBtn 1
AddControl /W:-3 TMyComboBox 1
AddDialog /W:-6 DIALOG_COPYMOVE_PINNED
AddControl /X:-3 /W:-3 TMyComboBox 2
AddControl /X:-3 /W:-3 TMyComboBox 3
AddControl /X:-3 TMyCheckBox 2
AddControl /W:-3 TMyComboBox 1
AddControl /X:2 TMyCheckBox 1
AddControl /X:-6 TMyCheckBox 3
AddControl /X:-3 /Y:-3 /W:-8 TButton 5
AddControl /X:-11 /Y:-3 /W:-8 TButton 1
AddControl /X:-19 /Y:-3 /W:11 TButton 4
AddControl /X:95 /Y:-3 /W:12 TButton 3
AddControl /X:1 /W:-4 TMyGroupBox 1
AddControl /X:1 TBitBtn 1
[/cut]
Loopback писал(а):Что за ключ переопределения не понял.
Перекрывающий ТС-шное поведение при кликах и встроенных хоткеях. Не знаю, можно ли их сделать неглобальными при этом.
Loopback писал(а):т.к. фактически нарушает нормальное функционирование программы.
Пусть это работает только с применением ключа /K, тогда нарушения не будет.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
BeTeP
Сообщения: 135
Зарегистрирован: Чт мар 31, 2005 00:57
Откуда: Санкт-Петербург

Сообщение BeTeP »

Flasher писал(а):вариант с равными и переставленными (двумя) кнопками для 9.50+ x32
А я себе сделал диалог копирования/перемещения с кнопками, равномерно распределенными по ширине диалога. Win 7 (x64). TC 9.51 RC6 (32-bit).
Может кому пригодится:
[cut="Скрины"]
Изображение
Изображение
[/cut]
[cut]
AddDialog DIALOG_COPYMOVE
AddControl /X:0 /Y:-1 /W:-11 "TMyComboBox" 2
AddControl /X:0 /Y:-1 /W:-11 "TMyComboBox" 1
AddControl /X:-1 /Y:-1 /W:17 "TButton" 5
AddCondition /VISIBLE:1 "TButton" 1
AddControl /X:17 /Y:-1 /W:17 "TButton" 1
AddControl /X:36 /Y:-1 /W:35 "TButton" 4
AddControl /X:72 /Y:-1 /W:37 "TButton" 3
AddControl /X:-35 /Y:-75 /W:-10 "TButton" 2
AddControl /X:0 /Y:1 "TMyCheckBox" 2
AddControl /X:-79 /Y:1 "TMyCheckBox" 1
AddControl /X:4 /W:-5 "TMyGroupBox" 1
AddDialog DIALOG_COPYMOVE_POST
AddControl /W:-10 "TMyComboBox" 1
AddDialog DIALOG_COPYMOVE_PINNED
AddControl /X:0 /Y:-1 /W:-11 "TMyComboBox" 3
AddControl /X:0 /Y:-1 /W:-11 "TMyComboBox" 2
AddControl /X:-1 /Y:-1 /W:17 "TButton" 5
AddControl /X:17 /Y:-1 /W:17 "TButton" 1
AddControl /X:36 /Y:-1 /W:35 "TButton" 4
AddControl /X:72 /Y:-1 /W:37 "TButton" 3
AddControl /X:0 /Y:1 TMyCheckBox 2
AddControl /X:-79 /Y:1 "TMyCheckBox" 1
AddControl /X:4 /W:-5 "TMyGroupBox" 1
AddControl /W:-10 "TMyComboBox" 1
[/cut]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

BeTeP писал(а):А я себе сделал диалог копирования/перемещения с кнопками, равномерно распределенными по ширине диалога.
А я с "неравномерно" то бишь? Изображение
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):росто писать формулу типа %Name+1? Или %(Name+1)? Или %"Name+1"?
Если объяснишь, какого конкретно результата надо добиться - тогда скажу.
Flasher писал(а):Это не годится. Я пишу о динамической. Ты же получаешь хэндлы не только на старте. Вот и эту переменную нужно.
ControlSetMouseAction /W:F %"28-@" CMD 3005
Если сделать здесь, будет вычислено значение в момент запуска этой команды. Вычисления вычисляют то что в строке и результат передается в параметр. Всё.

Если я правильно понял, нужно чтобы идентификатор контрола мог меняться в зависимости от результата WM_USER + 1000. Ну можно ключ ввести, какой-нибудь /DEC, который будет вычитать результат (0/1) из идентификатора, заданного в команде. Наверно.
Flasher писал(а):Перекрывающий ТС-шное поведение при кликах и встроенных хоткеях. Не знаю, можно ли их сделать неглобальными при этом.
Уже посмотрел, не вижу простого способа. Да и сложного не вижу.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Если объяснишь, какого конкретно результата надо добиться - тогда скажу.
А я разве не объяснил? Ты же на него и ответил "возможно и так". :?:
Flasher писал(а):хотелось не Name1 как новое имя переменной, а %Name% далее должно вернуть <значение позиции + 1>.
Loopback писал(а):Если сделать здесь, будет вычислено значение в момент запуска этой команды.
Тогда объясни это:
Loopback писал(а):Хэндлы получаются при запуске и в процессе работы в случае, если окно полученное ранее не существует.
Что мешает в процессе вычислять и с подобной переменной? Сейчас имеется 9 вариантов на 18 хэндлов, где это может пригодиться.
Loopback писал(а):Ну можно ключ ввести, какой-нибудь /DEC, который будет вычитать результат (0/1) из идентификатора, заданного в команде. Наверно.
Если тебе с ключом проще работать, то пожалуйста. Я за оптимальность. Только 1000 даёт не 0/1, а 1/2.
Loopback писал(а):Уже посмотрел, не вижу простого способа. Да и сложного не вижу.
Это, конечно, удручает. Т. е. от /X1 и /X2 можно смело избавляться. Что ж, буду по старинке — через AHK...

А про DisableMarkedMenuItems ты что-нибудь расскажешь? Как это выглядит и работает ли с подпунктами?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А я разве не объяснил?
Наверно пытался... А я пытался понять, но не смог.
Flasher писал(а):Что мешает в процессе вычислять и с подобной переменной?
В процессе чего? В процессе работы скрипта - вычисляется. Как только скрипт передал значение команде, какие еще могут быть вычисления?
Flasher писал(а):Если тебе с ключом проще работать, то пожалуйста. Я за оптимальность. Только 1000 даёт не 0/1, а 1/2.
Угу, а я-то, из вредности, против оптимальности.

Мы сегодня друг друга категорически не понимаем. Я не знаю, как еще объяснять. И я опять перестал понимать, что требуется, а казалось вот-вот. И сделать ничего не могу, пока не пойму. Увы.
Flasher писал(а): Т. е. от /X1 и /X2 можно смело избавляться.
Ну да, конечно, раз тебе не нужно - избавляемся. :lol: Именно так и поступим.
Flasher писал(а):А про DisableMarkedMenuItems ты что-нибудь расскажешь? Как это выглядит и работает ли с подпунктами?
Если в главном меню будут пункты типа такого:

Код: Выделить всё

MENUITEM "`Header", 0
После выполнения команды

Код: Выделить всё

DisableMarkedMenuItems "`"
Они станут неактивными.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):А я пытался понять, но не смог.
В смысле "не смог"? А "возможно и так" к чему было?

Код: Выделить всё

StrPos Name-1 abc c
%Name% => 2
Loopback писал(а):Как только скрипт передал значение команде, какие еще могут быть вычисления?
Я же выше писал, что хэндлы имеет смысл получать только динамически, потому что используются switch-команды во время работы в ТС. Т. е. те, что были на старте, исчезают и возникают новые.
Кстати, ты на вопрос так и не ответил:
Flasher писал(а):И тут сразу напрашивается 0 на главное (всё) окно ТС. Сделаешь?
Тут хотя бы меняться будет нечему. Т.е. 0 должен дать %AUTORUN_TCHANDLE%, грубо говоря.
Loopback писал(а):Угу, а я-то, из вредности, против оптимальности.
Я свой вариант решения твоему не противопоставлял в данном случае. Это вытекает из условия "Если тебе с ключом проще работать". Разве нет? :?
Loopback писал(а):Ну да, конечно, раз тебе не нужно - избавляемся. :lol: Именно так и поступим.
Было бы над чем смеяться. Покажи мне хотя бы одного юзера, который будет использовать эти кнопки для своих нужд с абсолютно ненужной ему сменой путей в активной панели (по ходу истории каталогов), нивелируя всю полезность таких кликов. Тогда посмеёмся вместе.
Loopback писал(а):Если в главном меню будут пункты типа такого:
Под "выглядеть" я имел в виду внешнее отличие (осветление текста или что там) от дефолтного состояния. Так а подпункты можно будет прикрутить, чтобы em_0 не вешать? В верхних пунктах даже не знаю, зачем это может понадобиться.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Код: Выделить всё

StrPos Name-1 abc c 
%Name% => 2
Ну вот, наконец-то понятно стало. Неудивительно, что не мог понять. Нет, такой вариант, разумеется, не работает. Это все равно что в том же Autoit написать $a-1 = StrPos(...) и надеяться что результат функции запишется в $a и из него сразу вычтется 1.
Flasher писал(а):Я свой вариант решения твоему не противопоставлял в данном случае. Это вытекает из условия "Если тебе с ключом проще работать". Разве нет?
Дело не в проще или сложнее, оптимальнее или нет, а потому, что по другому, со всякими "динамическими" переменными в параметрах просто не получится.

И вообще, какая цель преследуется этим кодом?

Код: Выделить всё

ControlSetMouseAction /W:F %"28-@" CMD 3005 
ControlSetMouseAction /W:R %"28-@" CMD 3006
Думал долго, потом сделал тестовую версию с вычитанием из индекса контрола результата WM_USER+1000 и последующим получения хэндла. Получается фигня: при вращении колеса над неактивной панелью вкладок переключаются вкладки на активной панели.
Flasher писал(а): с абсолютно ненужной ему сменой путей в активной панели (по ходу истории каталогов)
Так они что, эти кнопки глобально работают? Т.е. если нажать не на списках, тоже историю мотает?
Flasher писал(а):Под "выглядеть" я имел в виду внешнее отличие (осветление текста или что там) от дефолтного состояния. Так а подпункты можно будет прикрутить, чтобы em_0 не вешать? В верхних пунктах даже не знаю, зачем это может понадобиться.
Скрин
Делаются неактивные все пункты меню (и подменю) в которых в начале текста есть заданный маркер. Маркер при этом из текста удаляется.
Flasher писал(а):И тут сразу напрашивается 0 на главное (всё) окно ТС. Сделаешь?
Сделал уже. Только не всё окно, а его неклиентская часть, потому что клиентская закрыта контролами.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Нет, такой вариант, разумеется, не работает.
Ясно. Ну, уже, собственно, и неважно, с учётом того, что нет акцента на конкретных командах.
Loopback писал(а):по другому, со всякими "динамическими" переменными в параметрах просто не получится.
Т. е. с ключом аля /DEC, судя "по другому", получится? Есть же плагины, работающие в динамике, подстраиваясь под изменения контролов, в т. ч. определяя активность панели.
Loopback писал(а):Получается фигня: при вращении колеса над неактивной панелью вкладок переключаются вкладки на активной панели.
Спутал индексы. Так:

Код: Выделить всё

ControlSetMouseAction /W:F %"25+@" CMD 3005
ControlSetMouseAction /W:R %"25+@" CMD 3006 
Loopback писал(а):Так они что, эти кнопки глобально работают? Т.е. если нажать не на списках, тоже историю мотает?
Разумеется. Смотри опять же цитату из сообщения по первой ссылке с примером. Источник обсуждения. Это системная навигация. Аналогично — в проводнике, браузерах и т. д.
Loopback писал(а):Делаются неактивные все пункты меню (и подменю) в которых в начале текста есть заданный маркер.
Гм. Я себе это несколько иначе представлял. Т. е. нужно блокировать только пункты с маркером, а не меню, в которых находится хотя бы один такой.
И желательно искать подстроку не только в начале, но и по всей строке.
Так, что-то у меня не работает.

Код: Выделить всё

DisableMarkedMenuItems "'"

Код: Выделить всё

    MENUITEM "'F11\tРежим: Полный экран", em_0
Никакой реакции. MNU в UTF-8 без ВОМ. C "`" тоже пробовал.
Loopback писал(а):Только не всё окно, а его неклиентская часть, потому что клиентская закрыта контролами.
И что с того, что закрыта? Суть же в том, чтобы зависеть не от положения курсора, а только лишь от активности окна того экземпляра ТС, к которому есть привязка по хэндлу, как в AHK/AutoIt это обычно делается.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Т. е. с ключом аля /DEC, судя "по другому", получится? Есть же плагины, работающие в динамике, подстраиваясь под изменения контролов, в т. ч. определяя активность панели.
Если про ModifyDialogs, то он работает автономно, после того как в него один раз загрузили настройки. Из скрипта после его окончания ничего и нигде не берется. Ни в одном плагине.
Flasher писал(а):Спутал индексы. Так:
Так крутит в активной панели, в неактивной не крутит. Но вкладки крутятся в одну сторону вне зависимости от направления колеса.
Flasher писал(а):Это системная навигация. Аналогично — в проводнике, браузерах и т. д.
Понятно. Ну если появится мышь с экстракнопками - посмотрю.
Flasher писал(а):Гм. Я себе это несколько иначе представлял. Т. е. нужно блокировать только пункты с маркером, а не меню, в которых находится хотя бы один такой.
Я не знаю, что нужно а что нет, делалось под себя, я ее вообще не планировал выкладывать. А нужно было сделать неактивными несколько пунктов с разным текстом в разных подменю. Поскольку в дельфях (на котором написан ТС) обычные идентификаторы меню не задействованы, то нужно было либо искать по индексам (неудобно), либо так.
Flasher писал(а):И желательно искать подстроку не только в начале, но и по всей строке.
Не вижу ни малейшего смысла - зачем размещать маркер в разных частях строки? Для такой простой задачи только лишнее усложнение.

Добавлено спустя 4 минуты:
Flasher писал(а):Никакой реакции. MNU в UTF-8 без ВОМ. C "`" тоже пробовал.
Возможно надо задержку перед командой поставить, может меню не загрузилось еще. У меня она строит в конце скрипта и задержка 200мс.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Если про ModifyDialogs
Плагины ТС имеются в виду. WLX/WFX. Из WDX — TwinKey тот же. Так каков ответ будет? Сделать рельно/нет? Или останется такое псевдорешение с предупреждением "работать будет, если в интерфейсе ничего не трогать"? Для меня, например, это весьма актуально, т. к. кнопки/хоткеи с TCFS2 со сменами вида юзаю на постоянке (F11 из mnu выше как пример). Ну, и не я один такой, само собой.
Loopback писал(а):Но вкладки крутятся в одну сторону вне зависимости от направления колеса.
Так это уже косяк плагина, а не конфликт в приёме с вычислением.
Loopback писал(а):зачем размещать маркер в разных частях строки?
Не обратил сразу внимания на:
Loopback писал(а):Маркер при этом из текста удаляется.
В такой ситуации текущее условие годится. Но пока не работает. Стоит первой командой в большом конфиге. После неё там явно больше 200 мс проходит. Поставил 2000 — то же самое. Кодировка точно не влияет?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Сделать рельно/нет?
Я уже запутался в хотелках. Если речь про инкремент результата WM_USER+1000, то да, можно. Но мне не нравится неочевидность работы всего этого, что в твоем варианте (к тому же невозможном), что с ключом. Но поскольку это имеет смысл только для пар, целью чего является определение активного (или неактивного) элемента из пары, более логичным и понятным представляется такой вариант: ввести виртуальные идентификаторы типа 3 и 4, т.е. например для панели табов: 100 - активная панель табов, 101 - неактивная, и т.д.
Flasher писал(а):Так это уже косяк плагина, а не конфликт в приёме с вычислением.
Да, был косяк. Всё работает.
Flasher писал(а):В такой ситуации текущее условие годится. Но пока не работает. Стоит первой командой в большом конфиге. После неё там явно больше 200 мс проходит. Поставил 2000 — то же самое. Кодировка точно не влияет?
Кодировка не влияет, т.к. функция работает уже после создания меню. Но в любом случае, функцию можно убирать, или нужно переделывать. Протестировал на новой сборке - оказывается, она не работает с меню со значками, видимо используется кастомная отрисовка. В старой сборке меню было без значков. Элемент затеняется, но маркер не убирается. В таком варианте неприемлемо.
Ответить