4

我有一个使用 TActionToolBar 和 TActionManager 的工具栏。按钮具有子按钮,单击按钮右侧的小向下箭头可以使用这些子按钮。一切都由 VCL 管理并且工作正常。

当我单击顶级按钮时,我想显示子按钮。现在,我只需要单击小箭头,但我希望整个按钮都这样做。

可能吗?

谢谢

4

2 回答 2

0

我设法使以下项目适用于我的项目。我找不到直接引用在 ActionBar 上创建的按钮的方法。但是,ActionComponent 设置为在运行时创建的按钮。

这当然必须是一个 Action 本身才能连接到 Action Bar 上的主按钮,子项在该主按钮所在的位置。

procedure TReportPlugin.actMyDropdownExecute(Sender: TObject);
var
  ActionButton: TCustomDropDownButton;
begin
  inherited;

  if (Sender is TAction) then
  begin

    if (Sender as TAction).ActionComponent is TCustomDropDownButton then
    begin
      ActionButton := (Sender as TAction).ActionComponent as TCustomDropDownButton;
      ActionButton.DropDownClick;
    end;

  end;
end;
于 2013-10-25T23:39:37.837 回答
0

听起来您可以使用在选择项目时起作用的 DropDown 控件。除此之外,只需将代码放在 OnButtonClick 方法中以模拟被单击的向下箭头。

于 2012-11-15T20:09:13.957 回答