相关疑难解决方法(0)

TButton的下拉菜单

我正在尝试模拟TButton的下拉菜单,如下所示:

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;
Run Code Online (Sandbox Code Playgroud)

问题是,当菜单被删除时,如果我再次单击该按钮,我希望菜单关闭,但它会再次下降.

我正在寻找专门针对通用Delphi TButton而非任何第三方等效的解决方案.

delphi button delphi-7 drop-down-menu

8
推荐指数
2
解决办法
3047
查看次数

标签 统计

button ×1

delphi ×1

delphi-7 ×1

drop-down-menu ×1