2 pièce(s) jointe(s)
Texte vertical dans les header d'un DBGrid
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.
Code:
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 texte est bien tourné comme je le souhaite. (Voir pièce jointe "AvantWidth.png") Pièce jointe 82786
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") Pièce jointe 82787
Comment est-ce que je peux réduire la taille de mes colonnes sans réduire l'affichage du texte?
Merci d'avance.