wistiticdj
Messages postés1Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention 9 août 2006
-
9 août 2006 à 13:57
cs_jfs59
Messages postés178Date d'inscriptionmardi 29 avril 2003StatutMembreDerniè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.
cs_jfs59
Messages postés178Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention 2 février 2010 9 août 2006 à 17:13
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 ...