Tcanvas texte vertical [Résolu]

Messages postés
1
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
9 août 2006
- - Dernière réponse : cs_jfs59
Messages postés
184
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
2 février 2010
- 9 août 2006 à 17:13
J'aimerai écrire dans Tcanvas avec par exemple la fonction textout ou autre un texte vertical.  Je n'ai trouvé que la possibilité d'en faire des horizontaux.

Qulqu'un a une idée ?

Wistiti
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
184
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
2 février 2010
3
Merci
T'as pas du chercher longtemps ..
un petit exemple de ce qu'on trouve en moins de 10 secondes ...

procedure AngleTextOut(CV: TCanvas; const sText: String; x, y, angle:integer);
var
LogFont: TLogFont;
SaveFont: TFont;
begin
{Sauvegarde de la fonte en cours du canvas}
SaveFont := TFont.Create;
SaveFont.Assign(CV.Font);
{Récupération des détails de la fonte dans la structure LogFont}
GetObject(SaveFont.Handle, sizeof(TLogFont), @LogFont);
{Modification à notre guise de l'orientation de la la fonte}
with LogFont do
begin
lfEscapement := angle * 10;
lfPitchAndFamily := FIXED_PITCH or FF_DONTCARE;
end; {with}
{ Création de la fonte par CreateFontIndirect en se basant sur la structure }
{ LogFont et assignation à la fonte du canvas}
CV.Font.Handle := CreateFontIndirect(LogFont);
SetBkMode(CV.Handle, TRANSPARENT);
{Ecriture du texte avec l'inclinaison voulue}
CV.TextOut(x, y, sText);
{On redonne au canvas sa fonte sauvegardée pour lui redonner son état initial}
CV.Font.Assign(SaveFont);
SaveFont.Free;
end;

Cordialement jfs.
<hr size="2" width="100%" />
Tout est en tout et réciproquement ...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_jfs59