Menu suspenso do TButton
Eu estou tentando simular um menu suspenso para um TButton, como mostrado abaixo:
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;
O problema é que quando o menu é solto, se eu clicar no botão novamente, eu gostaria que o menu fechasse, mas em vez disso ele caia novamente.
Eu estou procurando uma soluçãoespecificamente para Delphi genéricoTButton
não é equivalente a terceiros.