Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Обмен кнопками 
Author Message
sa



PostPosted: Tue Nov 17, 2015 10:15    Post subject: Reply with quote

Кнопка - переключатель количества кнопок в загруженной панели инструментов. В примере это Default.bar из каталога TC - путь и имя файла панели задаются в коде кнопки дважды (в косых кавычках ``). Для работы требуется утилита TCFS2. Количество кнопок задаётся двумя функциями varset (число после запятой). Для возврата к исходному варианту одно из значений надо установить равным количеству кнопок в неурезанной панели. Саму кнопку размещать от начала панели не дальше меньшего из двух задаваемых значений, чтобы не терять её видимости при переключениях между ними.
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "varset(1, 26) varset(2, 40) if(ini(`%%COMMANDER_PATH%%\Default.bar`, Buttonbar, Buttoncount, varget(1)), varset(1, varget(2))) set_ini(`%%COMMANDER_PATH%%\Default.bar`, Buttonbar, Buttoncount, varget(1)) run_item(locktc,1) tcm(2901) tcm(2901) run_item(locktc,0) redraw"
WCMICONS.DLL,14
Кнопок в панели инструментов: 26 <--> 40


-1

P.S.
Перед использованием лучше сделать копию файла панели инструментов.
Настройку панели производить в неурезанном варианте, когда видны все её кнопки.

Добавлено.
Строка параметров для переключателя на три или два значения:
Code:
/ef "varset(1, 26) varset(2, 40) varset(3, 80)                                     varset(9, ini(`%%COMMANDER_PATH%%\Default.bar`, Buttonbar, Buttoncount, #)) if(varget(9) == varget(1), if(varget(1) == varget(2), varset(1, varget(3)), varset(1, varget(2))), if((varget(9) == varget(2)) & (varget(2) != varget(3)), varset(1, varget(3)))) set_ini(`%%COMMANDER_PATH%%\Default.bar`, Buttonbar, Buttoncount, varget(1)) run_item(locktc,1) tcm(2901) tcm(2901) run_item(locktc,0) redraw"
Чтобы переключать только два значения, надо сделать одинаковыми два числа из трёх.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group