'======================= ОСНОВНЫЕ ВОЗМОЖНОСТИ УТИЛИТЫ ====================================== 1. Создание контекстных и выпадающих меню из bar, mnu, tcm файлов 2. Настройка вида меню 3. Настройка тем меню 4. Вызов любых команд из меню 5. Использование своего синтаксиса меню 6. При удерживании Shift и кликом левой кнопки мыши в буфер обмена копируется код кнопки для вставки на панель инструментов Total Commander 7. При удерживании Ctrl и кликом левой кнопки мыши открывается bar на редактирование заданной кнопки, остальные файлы (mnu, tcm) открываются в редакторе 8. Использование локальных шрифтов 9. Включение/Выключение прозрачности меню при нажатии правой кнопки мыши 10. Диалог смены темы для нескольких меню '================================= ПАРАМЕТРЫ =============================================== FILEBAR/MNU||#THEME||$TITLE - FILEBAR/MNU - обязательный параметр, который идёт всегда первым, где FILEBAR/MNU - путь к файлу .bar или .mnu - далее необязательные параметры, которые разделяются || - #THEME - внешний вид меню, где THEME - имя секции в MENUIMG.ini, в которой прописываются настройки в ключах BkColor - фон меню, IconBkColor - 1-й фон области значков, IconBkGrdColor - 2-й фон области значков, SelectBkColor - фон пункта при наведении курсора, SelectRectColor - обводка вокруг фона пункта при наведении курсора, TextColor - цвет текста меню, SelectTextColor - изменение цвета текста при наведении курсора - $TITLE - название меню, где TITLE - название отображаемое в самом вверху
Возникла проблема со значками в окне "Все программы в алфавитном порядке" в окне выбора программы пропали значки программ т.е. значок есть, но он один на всех программах. См.скриншот https://b.radikal.ru/b42/1812/61/4b39d854d620.jpg Проверил работу этой кнопки в TC IMAGE 22 (Андрея Аверина), все в порядке. Сравнил файлы MENUIMG.ini, MENUIMGS.ini, с такими же файлами TC IMAGE 22 - различий между файлами нет. Пробовал установить значки программ через Ultra_TC_Editors в ALLPROGRAMS.mnu - никакого эффекта. Пробовал установить значки в Wcmd_Rus.ini -тот же результат. Что делаю не так и где "копать" ?
Проверьте правильно ли прописан путь к библиотеке значков и наличие самой библиотеки по этому пути - это в том случае, если значки указываются из общей библиотеки значков, в противном случае, надо прописывать в MENUIMG.tcm вместо пути к значку библиотеки значков, путь к исполнительному файлу.exe,1 (с запятой и единицей), в этом случае значок будет подтягиваться из самого исполнительного файла, например:
chip642 Я использую Wcmicons.dll. В файле Wcmd_Rus.ini все пути прописаны к Wcmicons.dl. Вы имеете в виду MENUIMG.tcm в коревом каталоге ТС ? Там вообще нет никаких ссылок на программы. Путь к исполнительному файлу.exe я прописывал без 1. Возможно в этом и вся загвоздка. Сейчас проверю. Спасибо!!! ================= ALLPROGRAMS.mnu: ================= POPUP "• Программы ''0''" MENUITEM "• 3D Text Commander", em_and_3132 MENUITEM "• 4K Video Downloader", em_amo_18 MENUITEM "• 7z FM", em_and_3008 MENUITEM "• 7z G", em_and_730 END_POPUP ================= MENUIMG.tcm ================= [mp_Menu] Delimeters=#!# POPUP Информация MENUITEM Вставить слово привет#!#%MENU_PATH%\TCIMG.exe,0#!#%MENU_PATH%\TCIMG.exe#!#привет MENUITEM NotePad#!#551#!#notepad MENUITEM Отображение информации об окнах#!#4#!#%MENU_PATH%\TCIMG.exe#!#infos=2||2 MENUITEM Отображение информации об окнах верхнего уровня#!#4#!#%MENU_PATH%\TCIMG.exe#!#infos=2||6 MENUITEM Открыть родительскую папку утилиты в проводнике#!#425#!#Explorer.exe#!#/select,%MENU_PATH% MENUITEM Открыть папку утилиты в проводнике#!#425#!#Explorer.exe#!#/select,%MENU_EXE% MENUITEM Открыть папку E:\Films\ в VLC - В случайном порядке + поверх#!#385#!#%MENU_PATH%\Programs\Players\VLC\Vlc.exe#!#E:\Films\ --random --video-on-top MENUITEM Выбор и установка темы для всех меню#!#%MENU_EXE%,0#!#%MENU_EXE%#!#CHOICETHEMS MENUITEM О программе#!#%MENU_EXE%,0#!#%MENU_EXE% END_POPUP
Сообщение отредактировал alexostrov - Пятница, 14.12.2018, 00:41
alexostrov, Я этим не пользовался, сейчас попробовал и тоже иконки не отображались, точнее одна и та же везде. Решение оказалось простым в файле Wcmd_Rus.ini в папке Language были прописаны к программам одинаковые значки. После внесения изменений всё заработало, как надо. Проверьте у себя все ли значки прописаны в этом файле правильно или нет.
sibirnik chip642 Все оказалось значительно проще. Файлы Wcmd_Rus.ini и ALLPROGRAMS.mnu были не в той кодировке. Но в этом варианте значки можно использовать только из Wcmicons.dll. Лучше было-бы значки брать с файла *.exe , и как советовал chip642 записывать их как *.exe,1 ,но как создать файл MENUIMG.tcm из ALLPROGRAMS.mnu я не знаю ? Я где-то встречал кнопку конвертации mnu в tcm, но не могу ее найти.
P.S. Правда осталась одна проблема: пришлось убрать "Обновление программ" (MENUITEM "Обновить меню", em_UpdateTheSoftwareMenu) т. к. в этом случае все значки слетали и оставался один значок на всех программах и самое главное перезаписывался файл ALLPROGRAMS.mnu. P. S. Ничего не менял и через 20 мин. все снова слетело - на всех программах один значок. программы при этом вызываются. У меня есть 3 выпадающих меню с командой %COMMANDER_PATH%\MENUIMG.exe и параметром %Z%%COMMANDER_PATH%%\Files\Tcm\*.tcm ........ все работают без проблем. Осталось только получить из ALLPROGRAMS файл *.tcm. Нужна Ваша помощь.
Сообщение отредактировал alexostrov - Пятница, 14.12.2018, 19:20
alexostrov, Я делаю так, не знаю насколько - это правильно, но мне нравится и всё просто. Вот кнопка:
Цитата
TOTALCMD#BAR#DATA %COMMANDER_PATH%\MENUIMG.exe %Z%%COMMANDER_PATH%%\Files\Mnu\ALLPROGRAMS.mnu||@mm_Menu||#Red||d30:70||#INPUT||$Меню~~Всех~~Программ...||+INPUT %COMMANDER_PATH%\Wcmicons.dll,23 Меню всех программ...
Меняя в ней путь к mnu или bar файлам, можно быстро делать вывод любого bar или mnu файлов ввиде меню MENUIMG. Также в строке параметра можно менять координаты вывода меню(d30:70), тему(Red) и надпись заголовка и в конце параметра наверное(я не пробовал) можно добавлять и название шрифта из ini файла MENUIMG. Пробуй может пойдёт, у меня все кнопки меню сделаны таким образом. Можно конечно конвертить с помощью TCMConverter на форуме есть ветка по ней. Как то так.
Сообщение отредактировал sibirnik - Пятница, 14.12.2018, 19:56
sibirnik Этой кнопкой я и запускаю "Меню всех программ". И проблема не в самой кнопке, она работает отлично. Проблема со значками, которые слетают. Главное что все уже кажется работало, а потом все значки с программ слетели. причем если раньше это происходило после "Обновить меню" и при этом у меня менялся размер файл ALLPROGRAMS.mnu с 6,8 кБ до 10,5 кБ. Я так понимаю что команда "Обновить меню", em_UpdateTheSoftwareMenu читает файл Wcmd_Rus.ini (или другой, не знаю) где прописаны все программы и записывает новый файл ALLPROGRAMS.mnu. И что делать я не знаю.
Сообщение отредактировал alexostrov - Пятница, 14.12.2018, 21:02
sibirnik Спасибо за подсказку. Похоже помогло. Значки все появились. Но осталась проблема с обновлением списка программ. ====== Обновить меню (список программ) ======= TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe allpr=0||%%COMMANDER_PATH%%\Files\Mnu\ALLPROGRAMS.mnu Wcmicons5.dll,2053 Обновить меню (список программ) ============================================ Если я применяю эту кнопку, то значки все слетают и меняется размер файл ALLPROGRAMS.mnu с 6,8 кБ до 10,5 кБ. Откуда программа читает сведения об установленных программах? P.S. Нестабильная работа. 10-15 мин. и значки слетели.
Сообщение отредактировал alexostrov - Пятница, 14.12.2018, 23:28
alexostrov, Всё у меня четко работает и обновление и ничего не слетает. Трудно подсказать не видя, что там и как у вас.
Цитатаalexostrov ()
Откуда программа читает сведения об установленных программах?
Скорее всего отсюда Wcmd_Rus.mnu, точно не могу сказать не знаю, но я думаю так. А в главном меню значки не слетают? Вы там ничего не меняете? Попробуй выполнить кнопку, которую я дал выше, после того как обновишь до 10,5 кБ. То есть пересобири WCMICONS.INC Чем как говорится ч..не шутит. Если вы проводите какие то действия с файлом Wcmd_Rus.mnu то обязательно надо пересобрать WCMICONS.INC
Сообщение отредактировал sibirnik - Суббота, 15.12.2018, 06:50
alexostrov, я тестировал allpr только на TC IMAGE - и сейчас команда отлично работает. Для теста на ваших данных нужно прислать в архиве свои файлы UserCmd.ini и Wcmd_Rus.ini
sibirnik Файл Wcmd_Rus.mnu - это Главное меню. В Главном меню значки на своих местах. Файл Wcmd_Rus.mnu не изменился т. к. дата в нем стоит 2017г. Пересборка WCMICONS.INC ситуацию на изменила.
Andrey_A Файлы загрузил на https://www.dropbox.com/s/fewkr0hd82fv7zl/User%26Wcmd.rar?dl=0 В папке Wcmd_Rus_Ok лежит файл Wcmd_Rus.ini с которым все хорошо работает, но он потом меняется на файл Wcmd_Rus.ini с папки Wcmd_Rus_Bad и значки слетают. Файл UserCmd.ini не изменялся. Я вернул файл Wcmd_Rus.ini (из папки Wcmd_Rus_Ok) на место и все стало нормально. Почему он изменился на Wcmd_Rus.ini из папки Wcmd_Rus_Bad не понятно. Андрей, еще один вопрос: откуда по em_UpdateTheSoftwareMenu берутся сведения о программах. Если с Wcmd_Rus.ini, то там "вагон и малая тележка" и естественно что они не соответствуют программам прописанным в ALLPROGRAMS.mnu. Я могу в UserCmd.ini прописать только те программы, которые прописаны в ALLPROGRAMS.mnu ? Логически это было-бы правильно - UserCmd.ini - это файл настроек пользователя. И как это сделать?
Сообщение отредактировал alexostrov - Суббота, 15.12.2018, 14:37