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 .
[edtdd]--Message édité par Sielfried--[/edtdd]