|
Sujet : [Visual C++] Problème tout con avec un EditBox... |
| Carbon_14 |
Peut-être que le compilateur, gentil comme il est, le faisait pour l'opérateur, afin de lui épargner de la peine ? :D
Si y a pas les deux dans un fichier, quand on le lit sous Windows sur PC, ça fait bizarre (il me semble que c'est un moyen (facilement détournable !) pour empêcher de lire les pages html (afficher source) car les lignes s'écrasent les unes les autres à l'écran).
Ce qui compte, c'est que ça fonctionne. :) :) |
| sielfried |
Salut tout le monde, Je préviens d'abord que je suis un débutant en prog Windows (MFC notamment) et que je suis en train de me mettre à Visual C++ 6.0. Là j'ai créé avec l'aide d'un bouquin un petit programme de chat avec client/serveur (à l'origine il ne pouvait y avoir qu'un client mais j'ai fait en sorte qu'il puisse y en avoir plusieurs). Je voudrais encore améliorer le programme, parce que celui d'exemple propose en guise de liste de messages un contrôle ListBox : ce qui est chiant, c'est que les messages trop longs ne passent pas à la ligne suivante, et sont donc tronqués.
Donc j'ai pensé à le remplacer par un EditBox (en multiline, et en lecture seule, même si j'espère que dans ce cas le fond n'est pas obligatoirement gris). J'ai créé ma variable de type contrôle et tout le tralala. Mais surprise, il n'y a aucune méthode permettant d'ajouter du texte (!!?). La seule méthode intéressante est SetWindowText(), mais le texte se fout toujours au début et remplace le précédent (pour un EditBox en une ligne ça suffit, mais bon). N'y a-t-il pas moyen de sélectionner une ligne, puis d'y insérer un texte ?? Je sais pas, ça pourrait servir dans pas mal de prog, mais je vois pas. Si je crée une variable membre texte (CString) pour le contrôle, j'ai la méthode Insert(), mais on ne peut pas insérer du texte à un endroit qui n'a pas déjà de texte (par ex. : la ligne suivante du texte).
En gros ce que je veux faire est simple, à chaque message, un truc du genre :
m_ctrlMsgList.SelectLine(i_CurrentLine++);
m_ctrlMsgList.AddText(0, s_String);
(0 indiquant le début de ligne).
De + les textes passent automatiquement à la ligne suivante dans une EditBox multiline, ce serait donc parfait.
J'ai essayé un RichEditBox (je sais pas trop ce que ça change), j'ai pas vu d'autres fonctions plus intéressantes pour ce que je veux faire, et surtout le programme ne démarre pas en sa présence (??).
Voilà, si qqun a une idée, je prends, ça m'aiderait pas mal. Bon chui un newbie alors vous excitez pas si c'est tout con :D. [edtdd]--Message édité par Sielfried--[/edtdd] |