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

Signaler
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
-
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
-
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

9 réponses

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

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
EditBox doit avoir le style ES_MULTILINE et ensuite ça ira.

ciao...
BruNews, MVP VC++
Messages postés
161
Date d'inscription
samedi 25 juin 2005
Statut
Membre
Dernière intervention
1 août 2006

je crois que tu as du poser ta question sur le forum de http://www.cppfrance.com

A++
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
salut,

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

@++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
heureusement que oui sinon on ne ferait plus que des antiquités.

ciao...
BruNews, MVP VC++
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
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...
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
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++
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
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
Messages postés
202
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
29 septembre 2008
2
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