Dropdown-Menü für TButton

Ich versuche, ein Dropdown-Menü für einen TButton zu simulieren, wie unten gezeigt:

procedure DropMenuDown(Control: TControl; PopupMenu: TPopupMenu);
var
  APoint: TPoint;
begin
  APoint := Control.ClientToScreen(Point(0, Control.ClientHeight));
  PopupMenu.Popup(APoint.X, APoint.Y);
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    DropMenuDown(Button1, PopupMenu1);
    // ReleaseCapture;
  end;
end;

Das Problem ist, dass, wenn das Menü heruntergelassen wird, ich möchte, dass das Menü geschlossen wird, wenn ich erneut auf die Schaltfläche klicke, es jedoch wieder heruntergelassen wird.

Ich suche nach einer Lösungspeziell für generisches DelphiTButton Keine Entsprechung von Drittanbietern.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage