![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как узнать высоту всплывающего меню? [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