Обсуждение темы "Обмен кнопками"
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Добавлю, что это происходит с кодом кнопки именно отсюда. Копируем код кнопки, вставляем на панель, получаем нерабочую кнопку.
*Если скопировать код кнопки, что в моей цитате, то он вставится на панель должным образом - со всеми кавычками.
*Красным помечены кавычки, исчезающие каким-то образом при вставке.TOTALCMD#BAR#DATA
"%Commander_Path%\Utils\WHS\ReplaceText4FileList.vbs" "%Commander_Path%"
"%%Commander_Path%%" %L
%Commander_Path%\WCMICONS.DLL
Замена путей в выделенных файлах
-1
*Если скопировать код кнопки, что в моей цитате, то он вставится на панель должным образом - со всеми кавычками.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Необходима одна кнопка для переключений между режимами "Подробный" и "Краткий". Если мы находимся в режиме, например, "Просмотр эскизов", нажатие на кнопку переведет панель в "Подробный", повторное - в "Краткий", ещё раз - в "Подробный" и т. д.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Красиво это сделать не получится, потому что ТС никуда эти состояния в текущей сессии не записывает. Только с перезапуском ТС в ShowAllDetails. А если, предположим, их записывать в текстовый файл самостоятельно, то в таком случае после вызова обратной команды стандартным путём скрипт впоследствии не сможет совершить реверс. Делать можно наподобие вот этого, чтобы учесть активность панели. А другой вариант, как ни парадоксально, опять-таки сводится к TCFS2+autorun+HideMenu+undo... 
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
Serge Yolkin
Дело не во вкусе и протезах, а в лишних манипуляциях, из-за которых просьба и возникла. Если и так можно жать две кнопки/клавиши без использования скриптов, то зачем городить огород с одной кривоработающей кнопкой, которую придётся время от времени нажимать дважды? И костылей в реализации, предложенной тобой, куда больше, если хорошо подумать.
Дело не во вкусе и протезах, а в лишних манипуляциях, из-за которых просьба и возникла. Если и так можно жать две кнопки/клавиши без использования скриптов, то зачем городить огород с одной кривоработающей кнопкой, которую придётся время от времени нажимать дважды? И костылей в реализации, предложенной тобой, куда больше, если хорошо подумать.
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
Я себе плохо представляю возможности скриптов, но разве нельзя из них запросить у Тотала элемент списка, послав сообщение LB_GETTEXT? А по полученной строке определять текущий режим.Serge Yolkin писал(а):Если режим не_кнопкой переключали - максимум, прийдется нажать кнопку дважды. А значение в файл записывать, хоть в файл самого скрипта.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Пардон, какого списка? Список тут никакой не нужен, достаточно пары строк в теле скрипта, которые будут считываться, а потом меняться в зависимости от выполненой команды. Без определения активности панели это в любом случае криво. Лучше TCFS2 с плагинами решения, ИМХО, не придумать.CaptainFlint писал(а):запросить у Тотала элемент списка
Без плагинов (с двойным нажатием при перескоке в другую панель/вкладку с другим режимом) так:
Команда понятно какая: TCFS2.exe /ei switch_view[Items]
switch_view=set_style(# & ~$00008000) tcm(301), style(# & $00008000), switch_view | set_style(# | $00008000) tcm(302), , switch_view
Хотя есть способ и без проверки на активность:
Код: Выделить всё
' Реверсивное переключение между
' кратким и подробным режимом
' Условие: необходима регистрация TCHelper
'=============================
With CreateObject("TCScript.Helper")
T=.GetTextFromClip
.LockTC True
.SendKeystroke "{DOWN}"
.SendCommand 2036 'cm_CopyFileDetailsToClip
A=.GetTextFromClip
.SendCommand 2017 'cm_CopyNamesToClip
B=.GetTextFromClip
.SendKeystroke "{UP}"
If A=B Then
.SendCommand 302 'cm_SrcLong
Else
.SendCommand 301 'cm_SrcShort
End If
.LockTC False
.SetTextToClip(T)
End With
Последний раз редактировалось Flasher Ср апр 27, 2011 15:35, всего редактировалось 2 раза.
Не знаю, верна ли кнопка:Flasher писал(а):Без плагинов (с двойным нажатием при перескоке в другую панель/вкладку с другим режимом) так
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
/ei set_style(# & ~$00008000) tcm(301), style(# & $00008000), switch_view | set_style(# | $00008000) tcm(302), , switch_view
%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
TCFS2
%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\
-1Добавлено:
Забил в конфиг, всё заработало. У "Подробного" нет приоритета - с "Эскизов" перехожу в "Краткий", нужно в "Подробный".
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица