Créer un saut de ligne (carriage return) [Résolu]

Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
- - Dernière réponse : cs_Nasman
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
- 28 juil. 2005 à 16:53
Bonjour,

Voila mon problème : J'ai crée une EditBox pour afficher une chaine de
caractère. Je souhaiterais pouvoir afficher plusieurs lignes sachant
qu'une ligne contient un nombre bien défini de caractères.

Les caractères qui provoquent habituellement le retour à la ligne (0x0A,0x0D) ne fonctionnent pas avec ce type d'objet.

Pour envoyer la chaine de texte dans l'EditBox, j'utilise SetDlgItemText.



Si quelqu'un connait les caractères (ou la méthode à employer) dans la chaine de texte, je serais preneur.



Merci
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
3
Merci
Adresse DB "Mon texte ici",13,10,0

ciao...
BruNews, MVP VC++

Dire « Merci » 3

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

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

Commenter la réponse de BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
EditBox doit avoir le style ES_MULTILINE et ensuite ça ira.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
161
Date d'inscription
samedi 25 juin 2005
Statut
Membre
Dernière intervention
1 août 2006
0
Merci
je crois que tu as du poser ta question sur le forum de http://www.cppfrance.com

A++
Commenter la réponse de anonyme_man_in_this_world
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
0
Merci
salut,

pas d'accord,
c'est pas pasqu'on programme en assembleur qu'on ne connait pas la EDITBOX.

@++
Commenter la réponse de cs_patatalo
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
heureusement que oui sinon on ne ferait plus que des antiquités.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
0
Merci
Mon EditBox possède bien la propriété ES_MULTILINE
et permet d'afficher plusieurs lignes. Le problème est que le passage à
la ligne suivante s'effectue lorsque la longueur de la chaine dépasse
la largeur de l'EditBox et n'est pas déclanché par un caractère de
contrôle. Si le passage à la ligne doit s'effectuer au bout d'un nombre
donné de caractères, la largeur occupée par ces caractères est
variable. Il ne m'est donc pas possible de forcer ce passage à la ligne
en ajustant la largeur de l'EditBox. Si quelqu'un a une solution...
Commenter la réponse de cs_Nasman
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
16
0
Merci
C'est toujours une histoire des styles de ton EDIT à régler.
Essaie avec ça:
ES_MULTILINE or ES_WANTRETURN or WS_VSCROLL or WS_HSCROLL

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
0
Merci
J'ai beau essayer les différentes options de l'EditBox, tout ce passe
comme si les caractères de contrôle linefeed, return n'étaient pas
reconnus.

Peut tu me confirmer les codes ascii à employer:

0xa et 0xd



Les WS_VSCROLL et WS_HSCROLL font apparaitre les ascenseurs permettant
d'accéder à l'affichage des caractères cachés car débordant de la boite.



Un modèle de chaine à afficher est le suivant



Adresse db " Adresse | xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx
|",0xa,0xd,"
",0
Commenter la réponse de cs_Nasman
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
0
Merci
J'ai identifié le problème : dans ma chaine j'ai interverti le 13 (0xd)
et le 10 (0xa). En remettant les choses en place celà marche. Voilà ce
qui arrive en voulant travailler de mémoire.



Merci BruNews
Commenter la réponse de cs_Nasman