我有一个使用TActionToolBar和TActionManager的工具栏。按钮具有可用的子按钮,单击按钮右侧的小向下箭头。
“向下箭头”按钮的宽度非常薄,需要精确的鼠标控制。我该如何定制?
谢谢
答案 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事件中,工具栏允许您定义要使用的按钮类。我们使用自定义类,默认宽度已更改。