TPopupActionBar没有ColorMap属性?

5 delphi coding-style

好吧,所以我几乎有一个好看的UI,使用TActionManager,TActionMainMenuBars和TToolBar以及DrawingStyle作为渐变来创建OfficeXP样式界面.

我也使用了几个TPopupActionBar弹出菜单,但我没有看到ColorMap属性.我使用ColorMap属性更改默认XP样式颜色的颜色,并更改TToolBar的热颜色以匹配菜单.

我现在需要TPopupActionBar弹出菜单来匹配菜单和工具栏,但是当我看不到为它分配ColorMap时怎么办?

对不起,如果这是非常重要的,我已经看了,看不到.我也尝试在运行时分配一个ColorMap但似乎没有它的属性?我可以更改TPopupActionBar的样式,但不能指定ColorMap.

RRU*_*RUZ 3

要分配 ColorMap,您可以使用组件OnGetControlClass的事件TPopupActionBar,然后检查是否PopupMenu不为零,最后分配该属性的嵌套属性ColorMap

检查这个样本。

procedure TFormMain.PopupActionBar1GetControlClass(Sender: TCustomActionBar;
  AnItem: TActionClient; var ControlClass: TCustomActionControlClass);
begin
  if Assigned(PopupActionBar1.PopupMenu) then
    PopupActionBar1.PopupMenu.ColorMap:= TwilightColorMap1;
end;
Run Code Online (Sandbox Code Playgroud)

检查此图像,其中包含应用了 TwilightColorMap 的 TPopupActionBar

在此输入图像描述