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

Messages postés
45
Date d'inscription
vendredi 1 avril 2005
Dernière intervention
6 février 2007
- - Dernière réponse : toxjamescook
Messages postés
45
Date d'inscription
vendredi 1 avril 2005
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
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 123 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
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
Dernière intervention
14 novembre 2014
7
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.