Personnaliser un TPageControl sous delphi 6

cs_krull Messages postés 1 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 9 novembre 2005 - 9 nov. 2005 à 11:38
yoco9 Messages postés 2 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 26 février 2008 - 30 mars 2006 à 16:53
Comment redessiner le contrôle TPagecontrol de façon à ce que les
contours des onglets aient une bordure de 1 pixel, d'une couleur au
choix, de plus je voudrais insérer un bouton à côté du caption de
l'onglet afin que lorsque l'on click sur celui-ci cela ferme l'onglet
correspondant, un peut comme le sytle de firefox.

2 réponses

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
9 nov. 2005 à 14:31
Hello,



Pour commencer tu dois passer la propriété OwnerDraw à True et ensuite
tu peux gérer le dessin de ton tpagecontrol dans l'evenement OnDrawTab.


Tiens j'ai un exemple pour toi : Il mets l'onglet actif en bleu et gras.

{------------------------------------------------------------------------------}

{
On redessine les onglets
principaux.
}

{------------------------------------------------------------------------------}

procedure TForm3.PageControl6DrawTab(Control: TCustomTabControl;

TabIndex: Integer; const Rect: TRect; Active: Boolean);

begin

(Control As TPageControl).Canvas.FillRect(Rect);



If Active then

begin

(Control As TPageControl).Canvas.Font.Style := [fsBold];

(Control As TPageControl).Canvas.Font.Color := ClBlue;

(Control As TPageControl).Canvas.TextOut(Rect.Left+5,Rect.Top+2,(Control As TPageControl).Pages[TabIndex].Caption);

end

else

begin

(Control As TPageControl).Canvas.Font.Style := [];

(Control As TPageControl).Canvas.Font.Color := ClBlack;

(Control As TPageControl).Canvas.TextOut(Rect.Left+8,Rect.Top+2,(Control As TPageControl).Pages[TabIndex].Caption);

end;

end;
Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
yoco9 Messages postés 2 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 26 février 2008
30 mars 2006 à 16:53
Marche très bien merci
0