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

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

как узнать высоту всплывающего меню? [D7, WinXP]


zema ©   (2006-02-03 13:32:00) 

мне нужно чтобы меню всплывало над кнопкой, аля ПУСК
пробовал

menuHeigth := (GetSystemMetrics(SM_CYMENU) * pm.Items.Count) + (GetSystemMetrics(SM_CXBORDER) * 2);
pm.Popup(ClientOrigin.X + btnPrint.Left, ClientOrigin.Y + btnPrint.Top - menuHeigth);

но если в меню есть разделители, то получается лажа


zema   (2006-02-04 16:37:00) [1]

всем спасибо


easy   (2006-02-03 18:15:00) [2]

var
 P:TPoint;
begin
 P:=ClientToScreen(Point(Button1.Left,Button1.Top));
 TrackPopupMenu( PopupMenu1.Handle, TPM_LEFTALIGN or TPM_BOTTOMALIGN ,P.X,P.Y, 0, handle, nil );


Игорь Шевченко   (2006-02-03 14:11:00) [3]

Высота разделителя равна GetSystemMetrics(SM_CYMENUSIZE) div 2


Наверх

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