[VC++ 6] Ecrire du texte sur plusieurs lignes

Ecrire du texte sur plusieurs lignes [VC++ 6] - C++ - Programmation

Marsh Posté le 19-01-2004 à 18:43:09    

Salut,
 
Je chercherai à savoir comment écrire du texte sur plusieurs lignes avec Visual C++.
 
 
J'ai essayé des trucs du genre  
 

Code :
  1. CString myString = "première ligne\nDeuxième Ligne";
  2. myDC->TextOut(x, y, myStr);


 
Mais ça ne marche pas, le caractère '\n' ne semblant pas être bien interprété.
Meme probleme en utilisant myDC->GetTextExtent, qui ne me donne pas la taille prise par mon texte sur plusieurs lignes,
 
Si vous aviez des idées (à part écrire plusieurs lignes en plusieurs fois...)

Reply

Marsh Posté le 19-01-2004 à 18:43:09   

Reply

Marsh Posté le 20-01-2004 à 09:37:23    

Bon, bah je n'ai pas trouvé de solution.
 
Donc, la meilleure solution (mais ne répondant pas totalement au problème" est d'écrire plusieurs chaînes, à des endroits différents (calcul du point d'ancrage en fonction des sauts de ligne), en utilisant CDC::TextOut.
 
:hello:

Reply

Marsh Posté le 20-01-2004 à 09:38:56    

essaye \r\n au lieu de \n ?


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 20-01-2004 à 09:46:15    

Négatif! Ca ne marche pas, ça me fait des caractères carrés à l'écran!
 
Merci quand même :)

Reply

Marsh Posté le 20-01-2004 à 11:24:31    

Il existe une fonction API de GDI qui gère les retour chariot, il faut lui ajouter un flag, DT_WORDBREAK il me semble
 
>> DrawText();
au lieu de TextOut


Message édité par antsite le 20-01-2004 à 11:24:50
Reply

Marsh Posté le 20-01-2004 à 11:46:06    

Ah? Sympa :)
 
Par contre, bien sûr, je ne peux plus utiliser en amont la méthode CDC::GetTextExtent pour connaître la taille que va prendre mon texte? (pour que je puisse bien le positionner selon sa taille?)

Reply

Marsh Posté le 20-01-2004 à 12:11:18    

GetTextExtentPoint32 il me semble

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed