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
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
???
si c'est une classe derivee d'une CFormView .
Dsl, je suis avec l'API Win32
@++
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.
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager