HELP ME comment ecrire en vertical en c++ builder 6 [Résolu]

Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
- - Dernière réponse : toxjamescook
Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
- 23 oct. 2006 à 15:17
Bonjour,

je n'arrive pas a trouvé une fonction permettant d'ecrire en verticale les textout ou les labels est ce que qq sait comment faire je suis coincé
merci
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
3
Merci
Voila j'ai enfin trouver qqchose qui marche bien et qui utilise un textout je vous donne le code il vient du site www.developpez.com

 
void __fastcall TForm1::FormPaint(TObject *Sender)
{
    AnsiString str = "Texte à 90°";
    LOGFONT lgfont;
 
    if(GetObject(Canvas->Font->Handle, sizeof(LOGFONT), &lgfont))
    {
        lgfont.lfHeight = 20;
        lgfont.lfEscapement = 900;
        lgfont.lfOrientation = 900;
        lgfont.lfOutPrecision = OUT_TT_ONLY_PRECIS;
        Canvas->Font->Handle = CreateFontIndirect(&lgfont);
        SetGraphicsMode(Canvas->Handle, GM_ADVANCED);
        Canvas->TextOut(200, 200, str);
    }
}
Merci quand meme a tous

Dire « Merci » 3

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

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

Commenter la réponse de toxjamescook
Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013
0
Merci
http://www.cppfrance.com/infomsg_TEXTOUT-VERTICAL-CPLUSPLUS-BUILDER_830316.aspx#2

Tu fait comme indiqué, tu donnes un zone de dessin correcte ( un rectangle vertical) un bete DrawText() avec les style DT_LEFT|DT_SINGLELINE (ca marcherait aussi avec les TexteOut mais la j'ai pas vu d'exemple de code) mais c'est a tester avec plusieurs polices (fonte true type ??)
Commenter la réponse de SnOOpss
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
6
0
Merci
Salut,
Il est possible d'écrire les caractères un à un. TextOut() sera appelé autant de fois qu'il y'a de lettres dans la chaine. La position verticale d'écriture sera décalée pour chaque nouveau cacactère. La valeur de ce décalage correspond à la hauteur d'un caractère.
Commenter la réponse de racpp
Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
6 février 2007
0
Merci
Merci pour ses precisions je vais essayé avec Drawtext() mais je trouve quand meme dingue de ne pas pouvoir faire une ecriture verticale simplement
Commenter la réponse de toxjamescook