好的,所以我几乎拥有一个漂亮的UI,使用TActionManager,TActionMainMenuBars和TToolBar(带有DrawingStyle)作为渐变来创建OfficeXP样式界面。
我也使用了几个TPopupActionBar弹出菜单,但是我没有看到ColorMap属性。我正在使用ColorMap属性更改默认XP样式颜色的颜色,并更改TToolBar的“热色”以匹配菜单。
现在,我需要TPopupActionBar弹出菜单来匹配菜单和工具栏,但是当我看不到为其分配ColorMap时,该怎么办?
打扰一下,如果这不是一件小事,我已经看过并且看不到。我也尝试在运行时分配ColorMap,但似乎没有它的属性?我可以更改TPopupActionBar的样式,但不能分配ColorMap。
最佳答案
要分配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