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

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

popup menu with pure WinAPI


tretmike ©   (2002-10-16 11:09:00) 

Добрый день, всем.

Подскажите, пожалуйста, существует ли и где можно найти класс по работе с popup-menu, использующий чистое WinAPI и не использующий VCL.

От него требуется поддержка вложенных подменю, а также возможность отрисовки иконок слева от названий пунктов.

Заранее большое спасибо за любую подсказку.
Михаил Третьяков.


Arcus   (2002-10-16 12:56:00) [1]

Насчет готового класса не могу сказать, но на чистом API это не очень сложная задача. Есть такая функция TrackPopupMenu, а к ней в комплекте CreatePopupMenu, LoadMenu, GetSubMenu и AppendMenu. Для иконок, кажется, SetMenuItemBitmaps - но увы, реально пользоваться не приходилось.
Пример

var Menu: HMenu;
...
Menu:= CreatePopupMenu;
AppendMenu(Menu, MF_STRING, cm_Edit, "&Edit");
AppendMenu(Menu, MF_STRING, cm_Test, "&Test");
...
if Test then
CheckMenuItem(Menu, cm_Test, MF_BYCOMMAND or MF_CHECKED);
...
TrackPopupMenu(Menu, tpm_LeftAlign or tpm_RightButton, X, Y, 0, WndHandle, nil);


Наверх

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