2011-05-15 12 views
5

Ok, entonces casi tengo una interfaz de usuario atractiva, usando TActionManager, TActionMainMenuBars y TToolBar con DrawingStyle como degradado para crear una interfaz de estilo de OfficeXP.TPopupActionBar no tiene propiedad de ColorMap?

Estoy usando un par de menús emergentes TPopupActionBar también, pero no veo una propiedad de ColorMap. Estoy usando una propiedad ColorMap para cambiar el color del color de estilo XP predeterminado, y también cambiar el color caliente de la barra de herramientas TTool para que coincida con el menú.

Ahora necesito el menú emergente TPopupActionBar para que coincida con el menú y la barra de herramientas, pero ¿cómo puedo hacer esto cuando no veo la forma de asignarle un ColorMap?

Disculpe si esto no es trivial, lo he buscado y no puedo ver. También probé en tiempo de ejecución para asignar un ColorMap pero no parece ser la propiedad para él? Puedo cambiar el Estilo de TPopupActionBar, pero no puedo asignar un ColorMap.

+2

+1. Interesante pregunta. –

Respuesta

3

Para asignar un mapa de colores que puede utilizar el evento OnGetControlClass del componente TPopupActionBar, a continuación, comprobar si el PopupMenu no es nula y, finalmente, asignar la propiedad anidada ColorMap de esta propiedad.

ver esta muestra.

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

cheque esta imagen que contiene una TPopupActionBar con el TwilightColorMap aplica

enter image description here

+0

gracias perfectos RRUZ –

Cuestiones relacionadas