コンポーネントメモ・TPopupMenu
TPopupMenuの注意点。
Popupメソッド
Popupメソッドの引数はスクリーン座標を指定します。
それに対してTControlのOnMouseUpイベントのXとYの値はコントロールのクライアント座標です。
そのままでは使えないのでGetCursorPos APIでスクリーン座標のマウスカーソル位置を取得して使うのが楽です。
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
var
lpt_Pos: TPoint;
begin
GetCursorPos(lpt_Pos);
PopupMenu1.Popup(lpt_Pos.X, lpt_Pos.Y);
end;
AutoPopupプロパティ
AutoPopupプロパティがTrueの場合PopupMenuのOnMouseUpイベントはポップアップしたメニューが閉じた後に発生します。
2009-01-28: