Я просто беру готовое главное меню тотала (верхний уровень) и создаю контекстное меню с этими же элементами, так как для системы главное меню и контекстное различны, но только в верхнем уровне - т.к. все выпадающие меню главного меню - уже контекстные, и их можно использовать как подменю контекстного меню. Парсить при этом мне никаких файлов не приходится.Andrey_A писал(а):Подскажи, пожалуйста, как ты реализуешь контекстные меню?
Autorun
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Любое подменю - это по сути обычное всплывающее (контекстное) меню. Всплывающее меню может быть как показано явно (как делает Autorun_HideMenu по TrackMainMenu), так и являться подменю какого-либо всплывающего или главного меню - при этом оно показывается при раскрытии его пункта меню.
Он спросил, как я реализую меню - я ответил. Думаю, его больше всего интересовало, откуда я беру наполнение - и я написал, что наполнение я беру готовое, а не создаю сам.
Он спросил, как я реализую меню - я ответил. Думаю, его больше всего интересовало, откуда я беру наполнение - и я написал, что наполнение я беру готовое, а не создаю сам.
Подменю -это фактически один пункт из всего меню, а контекстное меню имеет цельный образ. Поэтому это не одно и то же. И слова "Контекстных может быть сколько угодно, но кто будет парсить их?" воспринимаются как "можно открывать с помощью "TrackMainMenu" разные меню, иначе бы вопрос, утыкающийся в "Как известно меню имеет ограничение в отображении 2000 пользовательских команд.", не поднимался.MVV писал(а):Любое подменю - это по сути обычное всплывающее (контекстное) меню.
Какого-либо? Или всё-таки одного единственного?MVV писал(а):Всплывающее меню может быть как показано явно (как делает Autorun_HideMenu по TrackMainMenu), так и являться подменю какого-либо всплывающего или главного меню - при этом оно показывается при раскрытии его пункта меню.
Написал автору ScrollMin о желании добавить его библиотеку к плагинам autorun.
Подменю - это обычное всплывающее меню, которое показывается при раскрытии некоторого элемента другого меню. Все подменю всех меню являются всплывающими меню (и у главного меню, и у всплывающего). Всплывающее меню может быть одновременно подменю для любого числа меню. Всё это описано в MSDN. Мой модуль как раз берет из главного меню тотала все одиночные элементы и подменю, которые являются всплывающими меню, и прикрепляет их к своему всплывающему меню, а потом отображает на экране.
С помощью TrackMainMenu можно открывать любое меню, но перед этим его кто-то должен создать - т.е. распарсить файл меню и создать все подменю и одиночные элементы. Так как тотал одновременно имеет только одно меню, TrackMainMenu может показывать только одно меню - то, которое является текущим для тотала.
А ограничение в 2000 пользовательских команд - это дело рук самого тотала. Скорее всего, там у Гислера статический массив на 2000 элементов, поэтому более 2000 команд он из файла не читает. Сами по себе меню в сумме могут содержать куда больше элементов (хотя, когда я писал утилитку для отображения всплывающего меню с кнопки тулбара тотала, заметил, что система как-то странно отображает подменю большой вложенности).
С помощью TrackMainMenu можно открывать любое меню, но перед этим его кто-то должен создать - т.е. распарсить файл меню и создать все подменю и одиночные элементы. Так как тотал одновременно имеет только одно меню, TrackMainMenu может показывать только одно меню - то, которое является текущим для тотала.
А ограничение в 2000 пользовательских команд - это дело рук самого тотала. Скорее всего, там у Гислера статический массив на 2000 элементов, поэтому более 2000 команд он из файла не читает. Сами по себе меню в сумме могут содержать куда больше элементов (хотя, когда я писал утилитку для отображения всплывающего меню с кнопки тулбара тотала, заметил, что система как-то странно отображает подменю большой вложенности).
Автор уже вроде выложил рабочий вариант.
Знаю, пока нерабочий.MVV писал(а):Автор уже вроде выложил рабочий вариант.
MVV
Можно и в readme, но тогда при любых обновлениях ссылок придется обновлять версию, иначе никто об этих обновлениях и не узнает. А на сайте можно править инфу без обновления версии.
Вот со ссылками да. Хотя я думаю, народ найдет в посте на русском единственную ссылку
Кстати, ты можешь в том посте просто написать пару строк на английском.
А у ScrollTC прямая ссылка.
Flasher
Да, логично, поправлю.
Можно и в readme, но тогда при любых обновлениях ссылок придется обновлять версию, иначе никто об этих обновлениях и не узнает. А на сайте можно править инфу без обновления версии.
Вот со ссылками да. Хотя я думаю, народ найдет в посте на русском единственную ссылку
А у ScrollTC прямая ссылка.
Flasher
Да, логично, поправлю.
Там есть как раз пара строк на английском - строки с названиями утилиты TCFS2 и модуля Autorun_HideMenu, и они даже являются ссылками.Loopback писал(а):Кстати, ты можешь в том посте просто написать пару строк на английском.
А вообще, наверное, надо будет добавить модуль на wincmd.ru. Плагин к плагину - чем не плагин?
Обновлён плагин ScrollTC. Теперь при наличии в окне скроллбаров сообщения колеса подменяются сообщениями полос прокрутки. Это решает проблему Листера и ICLView, в котором при табличном режиме быстрого просмотра неактивное окно с иконками не прокручивалось.
Новая версия устроена по принципу ускорения прокручивания (от 1-й строки и более), тем самым удаётся в окнах, где требуется переход на следующий элемент в списке, не пропускать следующие за текущей строки.
Новая версия устроена по принципу ускорения прокручивания (от 1-й строки и более), тем самым удаётся в окнах, где требуется переход на следующий элемент в списке, не пропускать следующие за текущей строки.