![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать положение компонента относительно десктопа [D6, WinME, Win2k]
SergP © (2005-05-26 00:06:00)нужно вызвать popupmenu. Но в его методе popup нужно указать координаты.
У меня есть TEdit. При вызове меню нужно чтобы оно отображалось возле эдита, но как оказалось нужно указывать координаты относительно десктопа. Как их попроще узнать?
Gero (2005-05-26 00:29:00) [1]
> z:=ClientToScreen(point(left,top));
Не Left, Top, а 0, 0.
SergP (2005-05-26 00:26:00) [2]Хм... Почему же тогда при работе этого кода:
type
TMonth = class(TEdit)
.....
procedure TMonth.MyKeyPress(Sender: TObject; var Key: Char);
var
z:Tpoint;
begin
z:=ClientToScreen(point(left,top));
PopupMenu.Popup(z.X,z.Y);
end;
меню появляется не там где находится эдит, т.е.
если пишу
z:=ClientToScreen(point(left,top));
PopupMenu.Popup(z.X-left,z.Y-top);
то все нормально...? Что за фигня такая?
Гаврила (2005-05-26 00:08:00) [3]ClientToScreen method (TControl)
Gero (2005-05-26 00:07:00) [4]ClientToScreen