![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание сложных меню
Alex2006 © (2007-02-01 12:59:00)Уважаемые Мастера! Подскажите как сделать Popupmenu, привязанное к пункту MainMenu наподобии того как сделано в меню "Пуск" (например, при щелчке мыши на пункте меню какой-либо установленной программы появляется меню "Открыть", ... "Отправить", ... "Удалить", ...)
Elen (2007-02-02 08:05:00) [1]
> Создаешь тулбар, при щелчке по кнопке тулбара создается
> окно на котором в свою очередь лежит тулбар и т.д.
А для схожести с меню делаеш его списком
DVM (2007-02-01 17:28:00) [2]
> Если честно, то не представляю как из Toolbar сделать меню.
Создаешь тулбар, при щелчке по кнопке тулбара создается окно на котором в свою очередь лежит тулбар и т.д.
Alex2006 (2007-02-01 17:17:00) [3]Если честно, то не представляю как из Toolbar сделать меню.
DVM (2007-02-01 16:18:00) [4]
> Кто-то когда-то на этом сайте утверждал что меню Пуск это
> не Popup и не MainMenu a ToolBar. Сделай менюху из ToolBara.
>
Начиная с Win98 он тулбар. До этого обычное меню было вроде бы.
Меню сделать довольно сложно. Но можно. Даже из такой неподходящей вроде бы вещи как TabControl можно.
DiamondShark (2007-02-01 15:49:00) [5]Компонент MainMenu этого не умеет и уметь не может по определению.
Меню "Пуск" -- это не меню. Это окошки, повдение которых имитируетменю.
Выход: написать самому, или найти (напр. ExpressBars) компоненты, которые будут имитировать поведение меню.
Elen (2007-02-01 15:48:00) [6]
> наподобии того как сделано в меню "Пуск"
Кто-то когда-то на этом сайте утверждал что меню Пуск это не Popup и не MainMenu a ToolBar. Сделай менюху из ToolBara.
Alex2006 (2007-02-01 14:41:00) [7]Компонент MainMenu имеет событие onClick, которое реагирует только на левую клавишу мыши. Остальные события, насколько я понимаю связаны с перерисовкой. У меня в программе пункты меню создаются по желанию пользователя "на лету", а вот удалять их приходится коррекцией ини-файла. Это работает, но хотелось бы иметь возможность и красиво их удалять, если уже не нужны (нажав на нужном пункте правую клавишу мыши и выбрать из дополнительного (например, popup) меню "Удалить").
Separator (2007-02-01 13:22:00) [8]не установлен Delphi, поэтому не могу точно сказать, но скорей всего нужно просто обрабатывать нажатие правой кнопки мыши и выводить менюшку