好的,所以我几乎有一个好看的UI,使用TActionManager,TActionMainMenuBars和TToolBar以及DrawingStyle作为渐变来创建OfficeXP样式界面。
我也使用了几个TPopupActionBar弹出菜单,但是我没有看到ColorMap属性。我使用ColorMap属性来更改默认XP样式颜色的颜色,还更改TToolBar的Hot Color以匹配菜单。
我现在需要TPopupActionBar弹出菜单来匹配菜单和工具栏,但是当我看不到为其分配ColorMap时,我怎么能这样做呢?
打扰一下,如果这是非常重要的,我已经看了,看不到。我也尝试在运行时分配一个ColorMap但似乎没有它的属性?我可以更改TPopupActionBar的样式,但不能指定ColorMap。
答案 0 :(得分:3)
要分配ColorMap,您可以使用OnGetControlClass
组件的TPopupActionBar
事件,然后检查PopupMenu
是否为nil并最终分配嵌套属性ColorMap
这个属性。
检查此样本。
procedure TFormMain.PopupActionBar1GetControlClass(Sender: TCustomActionBar;
AnItem: TActionClient; var ControlClass: TCustomActionControlClass);
begin
if Assigned(PopupActionBar1.PopupMenu) then
PopupActionBar1.PopupMenu.ColorMap:= TwilightColorMap1;
end;
检查此图像,其中包含应用了TwilightColorMap的TPopupActionBar