|
Название | StackVertical |
Имя файла (*.txt) | StackVertical |
Описание | Управляет вертикальной панелью кнопок |
Автор | Вахмурка |
Параметры |
Имя файла или "|"
(см. комментарии) |
Вызываемые плагины | win, file |
Иконка | |
Версия | 1.0 |
Дата обновления | 23.06.2018 |
args BBar static hwnd = win.handle("c=TTOTAL_CMD") static Path = file.folder(win.exepath(hwnd)) static VB = Path ++ "\vertical.bar" static VK = Path ++ "\vertical.bak" local Success if(BBar == "|" || Shift) do if(win.sendmessage(hwnd, 0x400+50, 29, 0)) win.sendmessage(hwnd, 0x400+51, 2944, 0) Success = file.copy(VK, VB) if(Success) win.sendmessage(hwnd, 0x400+51, 2944, 0) quit endif Success = 1 if(win.sendmessage(hwnd, 0x400+50, 29, 0)) win.sendmessage(hwnd, 0x400+51, 2944, 0) wait.for(not win.sendmessage(hwnd, 0x400+50, 29, 0)) ;ButtonBarTools – имя скрипта ButtonBarTools if(not validpath(BBar)) BBar = ifelse(BBar, Path ++ "\" ++ BBar, .ButtonBarTools("b")) if(not validpath(VK)) Success = file.copy(VB, VK) if(Success) Success = file.copy(BBar, VB) if(Success) win.sendmessage(hwnd, 0x400+51, 2944, 0) wait.for(500, win.sendmessage(hwnd, 0x400+50, 29, 0))
Как работать в Total Commander'е одновременно с двумя панелями кнопок? В древних версиях – никак. В версии 9 и далее – сделать одну из панелей вертикальной, другую – традиционно горизонтальной.
Но как сделать произвольную панель вертикальной? Способов несколько. Первый – переименовать его в vertical.bar и дать команду cm_VisButtonbar2 или перезапустить Total Commander. Это долго и неудобно. Второй способ – выполнить команду OPENBAR2 для выбранной панели с помощью, например, такой кнопки:
TOTALCMD#BAR#DATA
OPENBAR2
%P%N
wciconex.dll
0
-1
Но ведь файл панели может находиться в любом месте, в том числе и весьма глубоко в дебрях директорий.
Наконец, можно хитрить и изворачиваться (например, с сообщением WM_COPYDATA). Но не слишком ли много хитростей для простой операции?
Итак, у скрипта три режима, определяемых параметром. Если в качестве последнего выступает имя bar-файла (в формате типа %P%N или в явном виде), то данная панель станет вертикальной. Если путь не указан, предполагается %COMMANDER_PATH%. Однако расширение bar должно быть указано обязательно. Также можно запустить скрипт без параметров, но при нажатой клавише Ctrl.
Простой запуск без параметров и нажатых клавиш приводит к вызову меню всех панелей для выбора одной из них и превращения в вертикальную. Подробности об этих меню изложены в комментариях к скрипту ButtonBarTools.
Наконец, поработав с "новой" вертикальной панелью, мы захотим восстановить старую, то есть ту, которая называлась vertical.bar изначально. Для этого следует запустить скрипт с параметром "|" или держать нажатой клавишу Shift
На главную | Все о Total Commander | PowerPro | Все скрипты |