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