我有一个使用TActionToolBar和TActionManager的工具栏。一个按钮具有可用的子按钮,单击按钮右侧的小向下箭头。全部由VCL管理并且工作正常。单击顶级按钮时显示TActionToolBar的子按钮
我想单击顶级按钮时显示子按钮。现在,我需要点击小箭头,但我希望整个按钮的功能相同。
可能吗?
谢谢
我有一个使用TActionToolBar和TActionManager的工具栏。一个按钮具有可用的子按钮,单击按钮右侧的小向下箭头。全部由VCL管理并且工作正常。单击顶级按钮时显示TActionToolBar的子按钮
我想单击顶级按钮时显示子按钮。现在,我需要点击小箭头,但我希望整个按钮的功能相同。
可能吗?
谢谢
听起来像是你可以使用当一个项目被选中充当一个下拉控件。除此之外,只需将代码放在OnButtonClick方法中即可模拟被单击的向下箭头。
我设法让我的项目工作如下。我无法找到直接引用在ActionBar上创建的按钮的方法。然而,ActionComponent被设置为在运行时创建的按钮。
这当然必须是一个Action本身,以连接到操作栏上的主要按钮,其中附加了子项目。
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;