Bonjour,
je suis sous XE3 et je voudrais définir la couleur d'un TabSheet.
Je n'ai pas pu trouver la propriété Color.
Merci de votre aide.
Xavier
Bonjour,
je suis sous XE3 et je voudrais définir la couleur d'un TabSheet.
Je n'ai pas pu trouver la propriété Color.
Merci de votre aide.
Xavier
Bonjour,
Il faut défnir la propriété OwnerDraw à true du TabControl et ensuite tu peux utiliser son événement OnDrawTab
Un petit exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 void __fastcall TForm1::TabControl1DrawTab(TCustomTabControl *Control, int TabIndex, const TRect &Rect, bool Active) { int l_iLargeur, l_iHauteur; if (Active) { Control->Canvas->Brush->Color = clGreen; Control->Canvas->Font->Color = clDkGray; } else switch (TabIndex) { case 1: Control->Canvas->Brush->Color = clFuchsia; Control->Canvas->Font->Color = clWhite; break; case 2: Control->Canvas->Brush->Color = clBlue; Control->Canvas->Font->Color = clYellow; break; default: Control->Canvas->Brush->Color = clWhite; Control->Canvas->Font->Color = clBlack; } Control->Canvas->Rectangle(Rect); l_iHauteur = Control->Canvas->TextHeight(static_cast<TPageControl*>(Control)->ActivePage->Caption); l_iLargeur = Rect.Left; Control->Canvas->TextOut(l_iLargeur, Rect.Top + 2, static_cast<TTabControl*>(Control)->Tabs->Strings[TabIndex]); }
Merci beaucoup free07.
Dans ma Pagecontrol, j'ai réussi à modifier les zones Tab avec ton code.
Juste une question à profondir:
Sous my PageControl, il y a deux TabSheets, est-qu'il y a un moyen de définir la couleur de l'ensemble d'un TabSheet (pas que sur la zone Tab, mais sur toute la surface)?
Merci d'avance
Xavier
Partager