Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание сложных меню


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, поэтому не могу точно сказать, но скорей всего нужно просто обрабатывать нажатие правой кнопки мыши и выводить менюшку


Наверх

Титульная страница Поиск, карта сайта Написать письмо