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

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

Как заставить при нажатии на SpeedButton выскакивало PopupMenu? [D6, WinXP]


Studentik ©   (2004-07-30 17:25:00) 

Исползую так:

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 SpeedButton1.PopupMenu.Popup(12,12);
end;

Естественно, меню выходит с заданными координатами (12,12), а как изменить строку, чтобы координаты были равны текущим координатам мыши.

Знаю, что можно извратится с MouseMove, но подскажите, плз, более красивое решение.


Ega23   (2004-07-30 19:54:00) [1]

ИМХО, не проще.


SelloutS   (2004-07-30 19:44:00) [2]

а не проще ли:

Mouse.CursorPos.X
Mouse.CursorPos.Y


Studentik   (2004-07-30 18:22:00) [3]

Большое спасибо!!!


Ega23   (2004-07-30 17:31:00) [4]

GetCursorPos, вот как она называется!


Rem   (2004-07-30 17:30:00) [5]

var
 P: TPoint;
begin
 P := Point(0, SpeedButton1.Height);
 P := SpeedButton1.ClientToScreen(P);
 PopupMenu.Popup(P.X, P.Y);
end;


Ega23   (2004-07-30 17:29:00) [6]

MousePos или GetMousePos, точно не помню. Посмотри в хелпе


Наверх

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