Thema: Delphi Popup für Auswahl?

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Popup für Auswahl?

  Alt 26. Mär 2010, 16:49
Du könntest bei Links-Klick auf den Button ein Popupmenu aufpoppen lassen.
Und zwar an der Position, an der auch der Button liegt.
Das Popupmenu kümmert sich nicht um das Panel auf dem der Button liegt.
Ausserdem ändert es automatisch seine Position, falls es nicht vollständig auf den Screen passen würde.
Delphi-Quellcode:
procedure ShowControlPopupMenu(c: TControl; pm: TPopupMenu);
var
  p: TPoint;
begin
  Assert(Assigned(pm) and Assigned(c) and Assigned(c.Parent));
  p := Point(c.BoundsRect.Right, c.BoundsRect.Top);
  p := c.Parent.ClientToScreen(p);
  pm.Popup(p.x,p.y);
end;

procedure TForm1.Button1Click(Sender:TObject);
begin
  ShowControlPopupMenu(Sender as TControl, PopupMenuFuerButton1);
end;
Andreas
  Mit Zitat antworten Zitat