C++, MFC ---> petit détail... emmerdant qd même ! - Programmation
Marsh Posté le 18-05-2001 à 12:14:42
Je ne sais pas t'aider sur comment le faire, vu que moi je programme avec le VCL de Delphi/C++Builder, mais bon :
tu peux essayer de déplacer le curseur dans le texte. Au début le curseur est au premier caractère. Il suffit que tu le places à chaque fois à la fin de la ligne que tu as ajoutée et le scrolling fonctionnera peut-être mieux.
Enfin vu que moi je passe généralement par un TMemo plutot qu'un TEdit pour le multiligne, j'utilise une méthode Add("texte" ) qui a peut-être un fonctionnement différent du +=.
Marsh Posté le 18-05-2001 à 12:32:57
D'où l'interet d'utiliser une CListBox pour ce genre de contrôle
Marsh Posté le 18-05-2001 à 14:08:23
n0mad a écrit a écrit : D'où l'interet d'utiliser une CListBox pour ce genre de contrôle |
...tu m'en aivait déja parlé, mais j't'avais expliqué pourquoi g besoin d'un CEdit, g pas le choix !
Marsh Posté le 18-05-2001 à 14:36:54
Je ne vois pas ce qui t'empeche d'implementer un 'copier-coller' à partir d'une selection de lignes dans la CListBox.
A mon avis, c'est un peu moins "bidouillatoire" que des CString:: operator+= , car si j'ai bien compris, l'utilisateur n'a pas à ajouter de texte, il peut seulement copier le texte.
Sinon, étant donné que CEdit dérive de CWnd, pourquoi n'as tu pas essayé CWnd::SetScrollPos(), en principe c'est fait pour ?
[edit]--Message édité par n0mad--[/edit]
Marsh Posté le 18-05-2001 à 15:16:47
clair .. le CListBox se colle plus à ton appli... j'ai eu le meme genre de probleme une fois...
CListBox mListBox;
CString str;
mListBox.InsertItem(-1,str);
Marsh Posté le 18-05-2001 à 15:47:37
désolé, vous allez me trouver tétu, mais il faut que ça soit un champ de texte (et le boss est d'accord avec moi !)
En plus g fini par trouver comment faire.
Ms g une autre question à propos des controles des MFC, je profite du topic et de vous qui avez l'air de pas mal vous y connaitre...
Je voudrais, dans une CListCtrl, modifier la sélection, alors vu qu'avec la méthode membre GetSelectionMark() je récupère la selection, je me suis dis qu'avec SetSelectionMark(int nItem) je pourrais sélectionner mon item. Mais apparement, le selectionMark, c'est pas ce qui fait apparaitre en surbrillance, et c justement ce que je veux faire moi: faire apparaitre en surbrillance (oui, l'estétique c important aussi !)
Apparement, il n'y a pas de méthode pour ça dans les membres de CListCtrl... mais ou est elle !???
Marsh Posté le 17-05-2001 à 16:21:12
voila, quand j'ajoute des ligne à un CEDIT multiligne, par la commande:
m_statutTexte += _T("mon texte\r\n" );
ça ajoute effectivement des lignes, mais le défilement du CEDIT (m_statutTexte) ne se fait pas, ça reste toujours au début, a pas pratique du tout parce que mon appli écrit sans cesse la dedant ! et même si on fait défiler manuellement, elle remonte tout en haut dès qu'elle écrit qqch dans le CEDIT.
Pourtant g bien coché la case "autoScroll" de m_statutTexte...
comprend pas, qqn comprend mieux que moi !?