'======================= ОСНОВНЫЕ ВОЗМОЖНОСТИ УТИЛИТЫ ====================================== 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 - название отображаемое в самом вверху
ASMEst, не зная броду - не суйтесь в воду, как говорит пословица. Читая справку MENUIMG, мы видим [info] MENUIMG - утилита для создания различных контекстных меню из *.BAR,*.MNU файлов Total Commander [/info]
[info] '======================= ОСНОВНЫЕ ВОЗМОЖНОСТИ УТИЛИТЫ ====================================== 1. Создание контекстных меню из bar, mnu, tcm файлов 2. Настройка вида меню 3. Настройка тем меню 4. Вызов любых команд из меню 5. Использование своего синтаксиса меню 6. При удерживании Shift и кликом левой кнопки мыши в буфер обмена копируется код кнопки для вставки на панель инструментов Total Commander 7. При удерживании Ctrl и кликом левой кнопки мыши открывается bar на редактирование заданной кнопки, остальные файлы (mnu, tcm) открываются в редакторе 8. Использование локальных шрифтов 9. Включение/Выключение прозрачности меню при нажатии правой кнопки мыши 10. Диалог смены темы для нескольких меню [/info] что утилита лишь меняет вид файлов панелей bar или файлов меню mnu Total Commander. Есть также вариант использования файлов tcm, который мне лично нравиться больше всех, но при просотре фрагмента файла у вас отпадет всякое желание делать такие менюшки. К примеру, меню, скриншот какого я вылаживал вчера (точнее фрагмент этого меню) выглядит так:
Код
[mm_grafics] Delimeters=#!# POPUP Избранные сайты MENUITEM TC Image#!#570#!#%COMMANDER_PATH%\TCIMG.exe#!#brwsr=tc-image.3dn.ru!!%%COMMANDER_PATH%%\Programs\Internet\Opera_AC\OperaLauncher.exe MENUITEM Файлообменник RGHost#!#570#!#%COMMANDER_PATH%\TCIMG.exe#!#brwsr=http://rghost.ru!!%%COMMANDER_PATH%%\Programs\Internet\Opera_AC\OperaLauncher.exe MENUITEM Radikal Фото#!#570#!#%COMMANDER_PATH%\TCIMG.exe#!#brwsr=http://www.radikal.ru!!%%COMMANDER_PATH%%\Programs\Internet\Opera_AC\OperaLauncher.exe END_POPUP POPUP Просмотр MENUITEM Просмотр миниатюр в текущей папке#!#1635#!#%COMMANDER_PATH%\Programs\Graphics\IrfanView\I_View32.exe#!#%p /thumbs MENUITEM Просмотр миниатюр только файлов PNG#!#1573#!#%COMMANDER_PATH%\Programs\Graphics\IrfanView\I_View32.exe#!#%p /thumbs /filepattern="*.png" MENUITEM Просмотр миниатюр только файлов JPG#!#1573#!#%COMMANDER_PATH%\Programs\Graphics\IrfanView\I_View32.exe#!#%p /thumbs /filepattern="*.jpg" MENUITEM Просмотр миниатюр только файлов GIF#!#1573#!#%COMMANDER_PATH%\Programs\Graphics\IrfanView\I_View32.exe#!#%p /thumbs /filepattern="*.gif" MENUITEM Слайдшоу с выделенных файлов#!#1964#!#%COMMANDER_PATH%\TCIMG.exe#!#"start=%%COMMANDER_PATH%%\Programs\Graphics\IrfanView\i_view32.exe|| /slideshow=%L~~/closeslideshow" MENUITEM Показать изображение под курсором по центру#!#1317#!#"%COMMANDER_PATH%\TCIMG.exe"#!#imgup=%P%N MENUITEM Показать изображение под курсором слева#!#1317#!#"%COMMANDER_PATH%\TCIMG.exe"#!#imgup=%P%N||2||-1||300||300||0||100 MENUITEM Быстрый просмотр Mht, Html, Chm, Xml, Txt, Папки... Shift + F3#!#26#!#%WINDIR%\hh.exe#!#-800 %V END_POPUP
Андрей, в данном диалоге желательно бы было изменение всех трех тем, влияющих на общее оформление - цвета, шрифта и вертикальной полоски теперь - для меня было открытием и я не знал - папка fonts должна лежать в одной папке с утилитой. надо указать такой аспект в справке.
и еще - все таки был бы желателен свой ини файл с настройками, так сказать, персональный файл для тем
Сообщение отредактировал asmadeus - Понедельник, 14.07.2014, 18:33
Прошу всех, кто участвовал в создании MENUIMG, придать данной замечательной утилите независимость от Total Commander, чтобы ее можно было запускать портабельно, ну например с переменной %MENUIMG_PATH%, было бы прекрасно иметь автономный тандем TCIMG и MENUIMG.
Сообщение отредактировал chip642 - Четверг, 27.11.2014, 23:05
06.12.2014 [2.3] [+] Добавлены относительные переменные %MENU_PATH% - путь к каталогу утилиты %MENU_DRIVE% - имя диска, на котором находится копия утилиты %MENU_INI% - Путь к конфигурационному файлу MENUIMG.ini. Тоже самое что и %MENU_PATH%\MENUIMG.ini %MENU_EXE% - Путь к исполняемому файлу утилиты. Тоже самое что и %MENU_PATH%\MENUIMG.exe [+] Добавлено меню mp_ [+] Добавлена независимость от Total Commander
Код
3. Третий вариант синтаксиса такой же как и в первом варианте. - отличае в том, что не используются переменные Total Commander - используются относительные переменные системы %WINDIR%, %PROGRAMFILES% ... и утилиты %MENU_PATH%, %MENU_DRIVE%, %MENU_INI%, %MENU_EXE% - команды и прописанные в секции запускаются отдельным процессом (не через Total Commander) - это меню можно запускать из любой другой программы, в том числе и с ярлыка MENUITEM/M TITLE|ICON,N|COMMAND|PARAMETRS|PATH - пункт меню, в параметрах важен порядок, первые 3 параметра (TITLE|ICON,N|COMMAND) обязательны - TITLE - Название пункта, \t заменяется на таб - позволяет сроку после \t "приклеить" к правому краю - ICON,N - путь к иконке/библиотеки и номер значка в библиотеке. Так же может использоваться только номер, при этом библиотека по умолчанию Wcmicons.dll - COMMAND - команда - PARAMETRS [не обязательный] - параметры команды - PATH [не обязательный] - путь запуска - FLAG [не обязательный] - режим отображения запускаемой программы (по умолчанию обычный режим запуска) - @SW_HIDE - скрытое окно - @SW_MINIMIZE - свернутое окно - @SW_MAXIMIZE - развернутое окно
Andrey_A, Спасибо! Вы Человек слова, как и обещали через неделю реализовали. Пока навскидку запустил ярлык с меню, с панели задач, но цветовая гамма там отсутствует, хотя этот же ярлык в TC с цветовой гаммой отображается. Будем разбираться.
Сообщение отредактировал chip642 - Суббота, 06.12.2014, 21:52
Andrey_A, да нет, все работает, темы подхватывает, забыл отписаться, погрузился в составление собственного меню.
Добавлено (28.12.2014, 17:19) --------------------------------------------- При клавиатурном вызове меню MENUIMG, без проблем в поле ввода, где находится курсор, вставляется текст по команде TCIMG, однако если меню вызываем с ярлыка, с панели задач, то вставить текст по месту последнего нахождения курсора не представляется возможным. Прошу автора рассмотреть возможность реализации вставки текста по команде с меню MENUIMG запускаемого с ярлыка. В будущем, по мере возможности и желания, можно в MENUIMG реализовать Модуль "Слежение за буфером обмена" и Модуль "Избранное", с возможностью легко, из самого меню, текст из буфера обмена перемещать в "Избранное"
Сообщение отредактировал chip642 - Воскресенье, 28.12.2014, 21:13
При клавиатурном вызове меню MENUIMG, без проблем в поле ввода, где находится курсор, вставляется текст по команде TCIMG, однако если меню вызываем с ярлыка, с панели задач, то вставить текст по месту последнего нахождения курсора не представляется возможным. Прошу автора рассмотреть возможность реализации вставки текста по команде с меню MENUIMG запускаемого с ярлыка.
Реализовано. Версия: 2.4 (ссылка в шапке темы)
[helpquote]29.12.2014 [2.4] [+] Добавлена активация активного окна при вызове пунктов меню @mp_NAME при параметре ?ACTIVE [+] Добавлен в MENUIMG.ini в [Setting] ключ NoActiveWindow - игнорирующий список классов окон (эти окна не будут активироваться и учитываться при поиске активного окна) [/helpquote]
Это работает только для меню @mp_NAME и при параметре ?ACTIVE
Для остальных меню это и не надо т.к. они работают с Total Commander
Так как меню не "висит" в системе, а запускается и закрывается после вызова пункта, то у неё нет возможности следить за активностью окон. Более того, в момент вызова с ярлыка, с панели задач или откуда либо ещё не всегда можно точно определить какое окно активно. К примеру, у вас запущен AkelPad (он активен), вы запускаете меню с системной панели задач... и в момент вызова AkelPad не активен, а для меню активным окном считается именно панель задач (т.к. оно тоже окно) Поэтому, чтобы определить "активное окно" необходимо перебирать все верхние окна, пока не найдётся наше, для этого создан ключ
NoActiveWindow, в который прописываются все ненужные классы верхних окон. Это и класс панели задач, класс меню "пуск", класс трея... Так же это могут быть окна дополнительных панелей, висящих у вас в системе или невидимые окна от плееров, браузеров...
Всё ненужное что выявилось при тестах вошло в ключ
Возможно у вас попадутся и другие окна. Окна верхнего уровня легко можно увидеть с помощью TCIMG
Код
TOTALCMD#BAR#DATA %COMMANDER_PATH%\TCIMG.exe infos=2||6 %COMMANDER_PATH%\Wcmicons.dll,4 Отображение информации об окнах верхнего уровня
-1
Цитатаchip642 ()
реализовать Модуль "Слежение за буфером обмена"
Т.к. меню запускается одноразово, то и следить не зачем. Для постоянного висящее меню в системе оно не создавалась. Недавно один из пользователей просил помочь в меню... А потом написал, что настроил себе 43 меню. Молодец... Представьте если все 43 будут висеть в системе - тоже не дело.
Цитатаchip642 ()
Модуль "Избранное"
Пока тоже не увидел целесообразности: меню легко вызывается на редактирование (с удерживанием CTRL и нажатием ЛКМ на пункте) - и внести нужный пункт не составит труда. Как показала практика. Трудоёмкость только при начальной настройке - далее проще.
chip642, Спасибо за идею активации окон и тестирование. С наступающим Новым Годом!!!