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
MVV



PostPosted: Wed Nov 16, 2011 16:34    Post subject: Reply with quote

Левую/правую панели различать надо?

Для начала выделим регистры для режимов каждой панели и укажем максимальное число режимов на каждой панели. Например,
Code:
; [Macros]
regImgFilterL=10
regImgFilterR=11
swImgFilterCountL=3
swImgFilterCountR=3


Теперь напишем команды, которые будут переключать режим, принимая номер режима в параметре (названия em-команд можно указать любые, в том числе и одинаковые для обеих панелей, если команда работает с активной панелью, а не с конкретно правой-левой; если наборы фильтров одинаковые, можно вообще использовать одну команду):
Code:
; [Items]
; swImgFilterL(int mode), swImgFilterR(int mode)
swImgFilterL=tem(em_ShowBlackWhiteImages), eval(#1==0) | tem(em_ShowColorImages), eval(#1==1) | tem(em_ShowPaletteImages)
swImgFilterR=run_item(swImgFilterL, #1)


Теперь напишем команду, которая будет инкрементировать значение в регистре и вызывать команду переключения режима:
Code:
; [Items]

swImgFilterModeNext=run_item(swImgFilterL, regread(regImgFilterL)) eval(regwrite(regImgFilterL, (regread(regImgFilterL)+1)%(swImgFilterCountL))), eval(L_isActive) | run_item(swImgFilterR, regread(regImgFilterR)) eval(regwrite(regImgFilterR, (regread(regImgFilterR)+1)%(swImgFilterCountR)))

При вызове команды она будет включать режим с текущим номером и увеличивать номер в соответствующем регистре. Например, если режимов у панели 3, то она будет включать режимы в таком порядке: 0, 1, 2, 0, 1, ... Перед первым запуском можно записать в регистр номер стартового режима.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group