TPopupActionBar не имеет свойства ColorMap? - PullRequest
5 голосов
/ 15 мая 2011

Хорошо, у меня почти есть красивый интерфейс, использующий TActionManager, TActionMainMenuBars и TToolBar с DrawingStyle в качестве градиента для создания интерфейса в стиле OfficeXP.

Я также использую несколько всплывающих меню TPopupActionBar, но яне видит свойство ColorMap.Я использую свойство ColorMap, чтобы изменить цвет цвета в стиле XP по умолчанию, а также меняю горячий цвет TToolBar для соответствия меню.

Теперь мне нужно всплывающее меню TPopupActionBar, чтобы соответствовать меню и панели инструментов., но как я могу это сделать, если не вижу способа присвоения ему ColorMap?

Извините, если это не тривиально, я посмотрел и не вижу.Я также пытался во время выполнения, чтобы назначить ColorMap, но, кажется, нет свойства для этого?Я могу изменить стиль TPopupActionBar, но не могу назначить ColorMap.

1 Ответ

3 голосов
/ 15 мая 2011

Чтобы назначить 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;

проверить это изображение, содержащее панель TPopupActionBar с примененным TwilightColorMap

enter image description here

...