Onlgets et Font

Résolu
Signaler
Messages postés
25
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
17 janvier 2006
-
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
-
Bonjours,
Je tente de créer des onglets de facon dynamique. Toutefois lorsque je tente d'attribuer une propriété dans Font, rien ne se passse :

FichierIni.ReadSection(Section[I-1],Champs);
tTable := TTabSheet.Create(Self);
tTable.PageControl := pcCompteur;


tTable.PageControl.Font.Color := clred;
tTable.PageControl.ActivePage.Font.Color := clred;
tTable.Font.Color := clred;


tTable.caption:= Section[I-1];

Le caption apparaît, mais pas la couleur rouge. Comment regler ce problème ?

5 réponses

Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Apres avoir determiner les captions de chaques onglets tu fais ceci :



PageControl1.OwnerDraw := False;

PageControl1.Font.Size := 10;
PageControl1.OwnerDraw := True;


Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,



Alors il faut que tu mettes la propriété OwnerDraw de ton TPageControl à True;



Puis dans l'événement OnDrawTab de ton TPageControl tu mets ce code :



procedure TForm7.PageControl1DrawTab(Control: TCustomTabControl;

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



begin

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

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

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

end;


Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
25
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
17 janvier 2006

Ouais ca fonctionne, mais il y a un autre problème. Quand je met Size a 10, le texte sort des onglet, les onglets ne s'élargit pas selon la largeur du texte.

Une réponse à ce probleme ?

Merci
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,



Et bien avant de passer ton composant en OwnerDraw à true tu mets la police à 10 comme ca les onglets auront la bonne dimension.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
25
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
17 janvier 2006

Ceci ne marche toujours pas :

tTable.caption := Section[I-1];
tTable.Font.Size := 10;
pcCompteur.OwnerDraw := True;