Danke. Das Problem ist nur:
Ich benutze das bei dynamisch erstellten Kompos und da hab ich mir das so gedacht:
Sheet[anzSQL].OnMouseUp := ShowPopupMenu(PageControlSQL,mbRight,[],Mouse.CursorPos.X,Mouse.CursorPos.Y);
und dazu die Proc:
Delphi-Quellcode:
procedure TFrameDB.ShowPopupMenu(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
TCM_GETITEMRECT = $130A;
var
i: Integer;
r: TRect;
p: TPoint;
begin
with (Sender as TPageControl) do
begin
for i := 0 to PageCount - 1 do
begin
Perform(TCM_GETITEMRECT, i, LPARAM(@r));
if PtInRect(r, Point(X, Y)) then
begin
if i = ActivePage.PageIndex then
begin
p := ClientToScreen(Point(X, Y));
PopupSQL.Popup(p.X, p.Y);
Exit;
end; // if i = ActivePage.PageIndex then
end; // if PtInRect(r, Point(X, Y)) then
end; // for i := 0 to PageCount - 1 do
end; // with (Sender as TPageControl) do
end;
Dann sagt der mir aber:
Code:
[Fehler] uFrame.pas(335): Inkompatible Typen: 'TMouseEvent' und 'procedure, untyped pointer or untyped parameter'
Das Versteh ich nicht, da ja
Delphi-Quellcode:
Mouse.CursorPos.X
Mouse.CursorPos.Y
vom Typ Integer ist und die Proc verlangt an der Stelle Integer