我有一个使用 TActionToolBar 和 TActionManager 的工具栏。按钮具有子按钮,单击按钮右侧的小向下箭头可以使用这些子按钮。一切都由 VCL 管理并且工作正常。
当我单击顶级按钮时,我想显示子按钮。现在,我只需要单击小箭头,但我希望整个按钮都这样做。
可能吗?
谢谢
我有一个使用 TActionToolBar 和 TActionManager 的工具栏。按钮具有子按钮,单击按钮右侧的小向下箭头可以使用这些子按钮。一切都由 VCL 管理并且工作正常。
当我单击顶级按钮时,我想显示子按钮。现在,我只需要单击小箭头,但我希望整个按钮都这样做。
可能吗?
谢谢
我设法使以下项目适用于我的项目。我找不到直接引用在 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;
听起来您可以使用在选择项目时起作用的 DropDown 控件。除此之外,只需将代码放在 OnButtonClick 方法中以模拟被单击的向下箭头。