Последняя версия DataExpress 3 beta от 27 мая 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Координаты

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
SirWolf
Интересующийся
Сообщения: 183
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар

Координаты

Сообщение SirWolf » Вт фев 27, 2018 9:54 pm

Код: Выделить всё

var  PMenu:TPopupMenu;
PmItem,PmItem2:TMenuItem;

procedure PMP(Sender: TObject);
begin
PMenu.PopupXY(dxButton1.Left+30,dxButton1.Top);
end;

procedure Form_Create;
begin
PMenu:=TPopupMenu.Create(Self);
PMenu.Items.Clear;

PmItem:=TMenuItem.Create(PMenu);
//PmItem.OnClick:=@PMItemClick;
PmItem.Caption:='Аванс';

PmItem2:=TMenuItem.Create(PMenu);
//PmItem2.OnClick:=@PMItem2Click;
PmItem2.Caption:='Счет';

PMenu.Items.Add(PmItem);
PMenu.Items.Add(PmItem2);

dxButton1.OnClick:=@PMP;

end;

Судя по названию .PopupXY должна вывести меню в указанных координатах, но не выводит. Это ошибка или я что-то неправильно делаю?

Аватара пользователя
admin
Разработчик
Сообщения: 3530
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Координаты

Сообщение admin » Вт фев 27, 2018 10:06 pm

Надо перевести координаты клиентской области в экранные:

Код: Выделить всё

var
   P: TPoint;
begin
   P.X := dxButton1.Left + 30;
   P.Y := dxButton1.Top;
   P := dxButton1.Parent.ClientToScreen(P);
   ...
   PMenu.PopupXY(P.X, P.Y);
end;

Popup выведет в меню там, где курсор мыши.

Аватара пользователя
SirWolf
Интересующийся
Сообщения: 183
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар

Re: Координаты

Сообщение SirWolf » Вт фев 27, 2018 10:33 pm

И так не выходит.
Popup выведет в меню там, где курсор мыши.

Нужно не в месте курсора а ниже кнопки.

Аватара пользователя
admin
Разработчик
Сообщения: 3530
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Координаты

Сообщение admin » Ср фев 28, 2018 8:06 am

SirWolf писал(а):И так не выходит.

Оказывается меню все равно появляется в месте курсора. Есть недоработка. Исправлю.


Вернуться в «Общие вопросы.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя