使用TActionToolBar中的分割按钮修改“箭头”

时间:2012-11-16 07:25:00

标签: delphi c++builder

我有一个使用TActionToolBar和TActionManager的工具栏。按钮具有可用的子按钮,单击按钮右侧的小向下箭头。

“向下箭头”按钮的宽度非常薄,需要精确的鼠标控制。我该如何定制?

谢谢

1 个答案:

答案 0 :(得分:2)

解决方案是使用TActionToolBar的OnGetControlClass事件。

之前,有必要从TThemedDropDownButton派生一个类并覆盖GetDropDownButtonWidth函数:

function TThemedDropDownButtonEx.GetDropDownButtonWidth: Integer;
begin
      Result := 14; // default drop down button width
end;

然后,在OnGetControlClass函数中:

void __fastcall TWorkAreaToolBarFrame::ActionToolBarLeftGetControlClass(TCustomActionBar *Sender,
 TActionClient *AnItem, TCustomActionControlClass &ControlClass)
{
    if(ControlClass == __classid(TThemedDropDownButton))
        ControlClass = __classid(TThemedDropDownButtonEx);
}

简而言之,在GetControlClass事件中,工具栏允许您定义要使用的按钮类。我们使用自定义类,默认宽度已更改。