Как отображать TPopupMenu при нажатии кнопки TButton?

Я хочу отображать всплывающее меню при нажатии кнопки, но эта процедура имеет ошибку в Delphi XE.

procedure ShowPopupMenuEx(var mb1:TMouseButton;var X:integer;var Y:integer;var pPopUP:TPopupMenu);
var
  popupPoint : TPoint;
begin
  if (mb1 = mbLeft) then begin
    popupPoint.X := x ;
    popupPoint.Y := y ;
    popupPoint := ClientToScreen(popupPoint);   //Error Here
    pPopUP.Popup(popupPoint.X, popupPoint.Y) ;   
  end;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
  ShowPopupMenuEx(button,Button1.Left,Button1.Top,PopupMenu1); //Error Here
end;

при нажатии кнопки отображается эта ошибка:

[Ошибка DCC] Form1.pas (205): E2010 Несовместимые типы: 'HWND' и 'TPoint'
[Ошибка DCC] Form1.pas (398): E2197 Объект константы не может быть передан как параметр var
[Ошибка DCC] Form1.pas (398): E2197 Объект-константа не может быть передан в качестве параметра var

Есть ли лучший способ показать всплывающее меню при нажатии кнопки?

8
задан Kromster says support Monica 1 October 2015 в 10:38
поделиться