sa
|
Posted: Mon Jul 27, 2020 17:50 Post subject: |
|
|
При остающемся неизменным алгоритме работы кнопки (перейти к первому выделенному объекту и выполнить команду "2936 Выделить файл под курсором, перейти к следующему" с параметром, равным разности запрошенных у TC номеров выделенных объектов), добавлю ещё один способ организации сообщения об ошибке – в заголовке, у меня там шрифт крупнее, чем в самом окне : Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "if(msg($432,1004+msg($432,1000))==2,tcm(2049)+tcm(2053)+tcm(2053)+varset(1,msg($432,1006+msg($432,1000)))+tcm(2054) +msg($433,2936,varget(1)-msg($432,1006+msg($432,1000))),tem(`em_>Выделено:<`msg($432,1004+msg($432,1000))`>`)+eval(settext_wait(`Выделите 2 объекта!`,findwnd(`#32770`))))"
WCMICONS.DLL,39
Добавить выделение файлов/папок между двумя выделенными | Сообщение, у которого меняется заголовок, может быть заголовком сообщения о нереализованной функции, как например, для функции tem(`em_>…>`) в коде кнопки или для более коротких функций вроде tem(em_) и tcm(1,1). А может быть и заголовком сообщения какой-нибудь внутренней команды TC, например, "О программе" tcm(690,1) или "Подсчитать занимаемое место" tcm(530,1) – может пригодиться при выделении файлов в обычных папках. Для пробы любую из этих функций надо вставить вместо tem(`em_>…>`), перед +eval.
P.S.Пришлось снова отказаться от блокировки/разблокировки теперь уже активного файлового списка sendmsg(msg($432,3),$0B,0/1): после неё тоже требуется дополнительная перерисовка панели. Заметно в случае, когда выделение остаётся неизменным по составу объектов, хуже того, если при этом ещё и смещается на панели в другое место. Можно увидеть на примере кнопки из предыдущего сообщения.
Стандартный вариант с redraw() не нравится, команда 2918 и сдвоенные 2012 (или 330) имеют свои недостатки.
Last edited by sa on Tue Jul 28, 2020 16:38; edited 1 time in total |
|