2015-09-10 5 views
0

Je commence par les styles Delphi VCL et je vois qu'il est très facile d'appliquer un style prédéfini en utilisant 'Project | Options 'et ensuite' Application | Apparence'.Puis-je utiliser les nouveaux styles Delphi VCL pour simplement colorer un objet spécifique (TPageControl) seul?

Naturellement, ces styles affectent l'aspect et la convivialité de l'application. Je voudrais conserver le style Windows par défaut (j'utilise 'Runtime themes enabled') mais je veux changer l'arrière-plan blanc par défaut montré par TPageControl. Je suis tombé sur this excellent article sur la création d'onglets colorés de contrôle de page qui montre comment remplacer la coloration des onglets, mais il semble ne s'appliquer que lorsqu'un style est chargé.

Ma question est comment (si?) Je peux utiliser TStyleServices sans charger un fichier de style pour obtenir uniquement les composants TTabSheet et définir une couleur?

(Et oui, je sais qu'il existe un certain nombre d'autres remplacements TPageControl disponibles, je veux coller avec les contrôles standard).

+2

Les styles VCL sont peut-être lourds pour cette tâche. Juste peindre l'arrière-plan. –

+0

Je vais examiner cela, merci. –

Répondre

2

Vous pouvez accéder aux éléments (couleurs, images) des styles VCL chargés à tout moment, même si le style natif de Windows est actif.

var 
    LStyleServices : TCustomStyleServices; 
begin 
    LStyleServices:=TStyleManager.Style['AnyLoadedVclStyle']; 
    //draw with the LStyleServices 
    ....  
end; 

Mais seulement vous pouvez utiliser les crochets Vcl style pour dessiner les commandes quand un style personnalisé est sélectionné.

+0

Merci pour la clarification. –