Onlgets et Font

Résolu
cs_Eric84 Messages postés 25 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 17 janvier 2006 - 20 janv. 2005 à 15:25
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 - 21 janv. 2005 à 14:44
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

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
21 janv. 2005 à 14:44
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.
3
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
20 janv. 2005 à 16:29
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.
0
cs_Eric84 Messages postés 25 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 17 janvier 2006
20 janv. 2005 à 17:45
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
0
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
21 janv. 2005 à 09:40
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Eric84 Messages postés 25 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 17 janvier 2006
21 janv. 2005 à 14:27
Ceci ne marche toujours pas :

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