Bonjour tout le monde,
J'utilise le composant XDBGrid afin d'afficher le contenu de tables de ma base de données.
J'aimerais pouvoir afficher le texte des en-têtes de colonnes en vertical (Rotation du texte de 90 degrés).
J'ai déjà fait quelques recherches et j'approche du but. D'après ce lien :
http://www.swissdelphicenter.ch/torr...de.php?id=1596
J'ai réussi à afficher le texte de la manière que je désire. voici mon code (Qui se trouve dans l'évènement FormShow). J'ai dû un peu modifier cet exemple car il était prévu pour une grille normale alors que je voudrais le faire pour une DBGrid.
Le texte est bien tourné comme je le souhaite. (Voir pièce jointe "AvantWidth.png")
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 //... Var I : Integer; tf : TFont; lf: TLogFont; //... For I:=0 To DBGrid1.Columns.Count-1 Do Begin DBGrid1.Columns.Items[I].Title.Caption:='Designation Test '+IntToStr(I); If I > 0 Then Begin tf:=TFont.Create; Try tf.Assign(DBGrid1.Columns.Items[I].Title.Font); GetObject(tf.Handle, SizeOf(lf), @lf); lf.lfEscapement:=900; lf.lfOrientation:=0; tf.Handle := CreateFontIndirect(lf); DBGrid1.Columns.Items[I].Title.Font.Assign(tf); Finally tf.Free; End; End; End;
Le problème, c'est que dès que je réduis la largeur de mes colonne (à 30 par exemple). le texte ne n'apparaît plus en entier. En fait il apparaît uniquement la partie qui serait visible sur la largeur spécifiée. (voir la pièce jointe "ApresWidth.png")
Comment est-ce que je peux réduire la taille de mes colonnes sans réduire l'affichage du texte?
Merci d'avance.
Partager