Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3103 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [MFC] effectuer un retour à la ligne ds un EDITTEXT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC] effectuer un retour à la ligne ds un EDITTEXT

n°1420981
Amonchakai
Posté le 06-08-2006 à 20:03:46  profilanswer
 

Bonjour !
   Bon comme annoncé dans le titre j'ai un petit soucis : je n'arrive pas a faire de retour a la ligne dans mon EDITTEXT.
 
Bon voilà mon fichier ressource : (sans les headers...)

Code :
  1. Boite DIALOG
  2.    60, 20, 180, 240
  3.    STYLE WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_POPUP
  4.    CAPTION "Boite..."
  5.    BEGIN
  6.       EDITTEXT IDE_EDIT_VUE, 6, 2, 166, 166, WS_VSCROLL | WS_DISABLED | ES_MULTILINE | ES_WANTRETURN
  7.   EDITTEXT IDE_EDIT_COMMANDES, 12, 190, 156, 12
  8.       DEFPUSHBUTTON "Ok", IDM_OK, 96, 210, 42, 12
  9.   PUSHBUTTON "Fermer", IDM_QUIT, 44, 210, 42, 12
  10.    END


 
Donc j'arrive a récupérer le texte tapé dans IDE_EDIT_COMMANDES et celui dans IDE_EDIT_VUE. je met le texte récupéré de IDE_EDIT_VUE dans la string sVue et le texte récupéré de IDE_EDIT_COMMANDES dans la tring sCommandes.
et je voulais faire ça :  

Code :
  1. sVue += '\n';
  2. sVue += sCommandes;


puis j'envois le message WM_SETTEXT a IDE_EDIT_VUE pour lui faire afficher le contenu de sVue. Seul problème : le retour a la ligne n'est pas pris en compte... mes deux chaines de caractères sont affichées bout à bout...
Vous ne sauriez pas par hazard d'où celà peut venir ?
 
Merci  :)


Message édité par Amonchakai le 06-08-2006 à 20:12:06
mood
Publicité
Posté le 06-08-2006 à 20:03:46  profilanswer
 

n°1421046
Amonchakai
Posté le 06-08-2006 à 20:47:34  profilanswer
 

kikou, bon c'est encore moi !  :)  
Si ça peut vous aider voilà comment je récupère les différents textes :
 

Code :
  1. HWND hTexte, hCommande;
  2. std::string sVue, sCommandes;
  3. hTexte = GetDlgItem(hwnd, IDE_EDIT_VUE);
  4. hCommande = GetDlgItem(hwnd, IDE_EDIT_COMMANDES);
  5. DWORD longueur = GetWindowTextLength(hCommande);
  6. char *buffer = new char[longueur+1];
  7. GetWindowText(hCommande, buffer, longueur+1);
  8. sCommandes = buffer;
  9. delete[] buffer;
  10. longueur = GetWindowTextLength(hTexte);
  11. buffer = new char[longueur+1];
  12. GetWindowText(hTexte, buffer, longueur+1);
  13. sVue = buffer;
  14. delete[] buffer;
  15. sVue += '\n';
  16. sVue += sCommandes;
  17. SendMessage(hTexte, WM_SETTEXT, 0, (LPARAM)sVue.data());
  18. SendMessage(hCommande, WM_SETTEXT, 0,(LPARAM) "" );


 
Merci a ceux qui se pencheront sur mon problème :)


Message édité par Amonchakai le 06-08-2006 à 20:48:13
n°1421288
retrox
Posté le 07-08-2006 à 10:18:53  profilanswer
 

Essaye avec \r\n.

n°1421331
Amonchakai
Posté le 07-08-2006 à 11:06:36  profilanswer
 

Merci de ta réponse !!!
 
Bon alors c'est pas encore tout a fait ça... car maintenant il saute carrement une ligne. Et si j'en met qu'un des deux alors les deux chaines restent attachées...

n°1422094
Amonchakai
Posté le 08-08-2006 à 10:11:35  profilanswer
 

up

n°1422095
_darkalt3_
Proctopathe
Posté le 08-08-2006 à 10:14:58  profilanswer
 

y'a une option multiline, elle est bien activée ?

n°1422102
Amonchakai
Posté le 08-08-2006 à 10:28:43  profilanswer
 

Oui je l'ai bien activé ! comme on peut le voir dans mon fichier ressource.
 
il y avait Retrox qui m'avait proposé d'essayé de faire "\r\n" mais là ça fesait plus qu'un retour a la ligne ça en sautait même une...
 
(je sais bien que c'est super bête comme question : les caractères spéciaux c'est la première chose que l'on apprend... Mais là je vois pas...)
 
Merci

n°1422129
Amonchakai
Posté le 08-08-2006 à 11:09:02  profilanswer
 

Bon, j'ai réussit a faire ce que je voulais en faisant "\n\r"...
Mais je comprend pas pourquoi ça ça marche et pas '\n' ? '\r' c'est le retour charriot... pourquoi a-t-on besoin de le mettre ? (d'habitude en DOS juste le '\n' suffit...)
 
Merci :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [MFC] effectuer un retour à la ligne ds un EDITTEXT

 

Sujets relatifs
Batch - Faire une image de disque dur en ligne de commandeExporter le thème Windows en ligne de commande
Récupérer le dernier caractère d'une ligneretour à la ligne automatique dans php-eclipse
[MFC] Désactiver le clic droit[VC++6/MFC] Problème de Child Dialog
[ASP] retour à la ligne forcéRetour de metode static assignée par reference
Plus de sujets relatifs à : [MFC] effectuer un retour à la ligne ds un EDITTEXT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR