|   | 
 | 
| Название | StackVertical | 
| Имя файла (*.txt) | StackVertical.txt | 
| Описание | Управляет вертикальной панелью кнопок | 
| Автор | Вахмурка | 
| Параметры | Имя файла или "|" (см. комментарии) | 
| Вызываемые плагины | 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 |   | PowerPro & Total Commander |