Hello!!!
J'ai une edit box sous VC++. Du texte est présent dedans. J'aimerais en rajouter sans:
- récupérer le texte actuel avec GetDlgItemText
- strcat
- SetDlgItemText
Y a t il un moyen d'ajouter simplement le texte?
Merci
@++
R@f
Version imprimable
Hello!!!
J'ai une edit box sous VC++. Du texte est présent dedans. J'aimerais en rajouter sans:
- récupérer le texte actuel avec GetDlgItemText
- strcat
- SetDlgItemText
Y a t il un moyen d'ajouter simplement le texte?
Merci
@++
R@f
pourquoi sans tout ca ?? c'est un concours ???
en utilisant DDX, tu "attaches" le controle à un CString
tu utilises l'operateur '+' et tu fais UpdateData
Hello!!!
Parceque il s'agit d'un update fréquent ou je ne connait pas la quantité de texte présent...
C quoi DDX?
Merci
@++
R@f
salut,
c'est le systeme d'echange de données entre la variable et le controle
le mecanisme est mis en place par classwizard dans la fonction :
:DCode:
1
2
3
4
5
6
7
8
9 void CSocieteView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSocieteView) DDX_Control(pDX, IDC_COMBOCDP, m_ComboCdp); // ................................................... //}}AFX_DATA_MAP }
Ooooops... C pas MFC ca?
@++
R@f
???
si c'est une classe derivee d'une CFormView .
8O
Dsl, je suis avec l'API Win32 :oops:
@++
R@f
alors je vois pas d'autrs solution que GetDlgItemText et tout le reste ou
int GetWindowText(
HWND hWnd,
LPTSTR lpString,
int nMaxCount );
si tu est dans la dialogue et que tu connais le handle .
je connais pas de fonction de concatenation directe dans l'edit ou eventuellement utiliser WM_PAST pour coller du texte à la suite si le curseur est positionne à la fin de l'edit et ce qui veux dire utiliser le presse papiers pour stocker la valeur à rajouter.
:D
Oki, merci bcp!
@++
R@f
Cette technique marche:
SendMessage( Handle_EditBox, EM_REPLACESEL,0,(long int)"starting" );
La chaine starting est concatainé dans l'EditBox à la position ocupé par le curseur.
Peut-on savoir pourquoi tu as remonté un thread vieux de neuf ans, et pour poster une réponse incomplète (il manque le EM_SETSEL) et incompatible à la fois avec Unicode et 64 bits?
Cette réponse sur StackOverflow est sans doute la plus intéressante, vu qu'elle sauvegarde et restaure la sélection existante.