Ajouter du texte à la suite (sans écraser l'ancien)??
Salut, :)
:idea: :J'essaye d'ajouter du texte dans une fenêtre à l'aide de la fonction SetWindowText(HWND,CHAR*), mais cette dernière écrase tout le texte présent dans la fenêtre avant d'afficher le texte voulut.
:?: :Comment faire pour ajouter du texte à la suite de celui deja présent dans la fenêtre? Existe t'il un autre fonction similaire à SetWindowText(HWND,CHAR*)?
:arrow: :Je voudrait eviter de passer par le mode graphique avec BeginPaint et tout ça.
Merci d'avance. :)
Re: Ajouter du texte à la suite (sans écraser l'ancien)??
Citation:
Envoyé par damien99
Salut, :)
:idea: :J'essaye d'ajouter du texte dans une fenêtre à l'aide de la fonction SetWindowText(HWND,CHAR*), mais cette dernière écrase tout le texte présent dans la fenêtre avant d'afficher le texte voulut.
Merci d'avance. :)
T'as deux méthodes :
1°/soit comme le suggèrent les précédents posts, en récupérant le texte présent dans le control dans un CString puis d'ajouter ton texte et ensuite d'appeller SetWindowText :
Code:
1 2 3 4
| CString text;
m_EditControl.GetWindowText(text);
text += L"Some more text";
m_EditControl.SetWindowText(text); |
2°/sinon, tu peux utiliser l'astuce de positionner la sélection à la fin du control :
Code:
1 2 3 4 5
| int nLength = m_EditControl.GetWindowTextLength();
// positionne la sélection à la fin du control
m_EditControl.SetSel(nLength, nLength);
// rempalcer la selection
m_EditControl.ReplaceSel(text_a_ajouter); |
la deuxième méthode est plus pratique dans le cas d'ajouts fréquents comme le suggère le site de codeguru
Bonne chance :wink: