2012-11-16 44 views

回答

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情況下,工具欄允許你定義你想要使用的按鈕類。我們使用默認寬度更改的自定義類。