SetDlgItemText [Résolu]

cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 13:25 - Dernière réponse : cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention
- 16 août 2003 à 17:09
je programme en Visual Studio .Net C++

je ne comprend pas pourquoi avec "SetDlgItemText", on ne pas avoir 2 lignes en dessous.

g mi : Multiline= True;

exemple :

....
SetDlgItemText(hdlg,IDC_EDIT1,"toto");
....
....
SetDlgItemText(hdlg,IDC_EDIT1,"titi");
.....

je constate que "toto" est replacé par "titi", et je vx les 2,
c posible ?

il y a px étre une autre fonction,
Merci
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 17:09
3
Merci
http://perso.wanadoo.fr/iar/IAr_Projet.htm

Merci cs_JCpp 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_JCpp
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 16 août 2003 à 13:45
0
Merci
SetDlgItemText place le texte en remplaçant l'ancien eventuellement. Prepare tout ton texte dans un buffer avant et appelle ensuite SetDlgItemText.
Sinon tu emploies;
SendMessage(htxt, EM_REPLACESEL, 1, (long) pszAutreText);
qui permet ajout, remplacement etc... Fais des tests avec et tu verras qu'on peut tout faire ainsi.
BruNews, ciao...
Commenter la réponse de BruNews
vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 16 août 2003 à 13:46
0
Merci
Evidemment, il n'y a qu'un chaine pour un edit. Si tu veux qu'il y ait la chaine "tototiti", il faut que tu récupère la chaine présente (GetDlgitemText(...)) donc tu obtiens "toto" puis tu ajoute la chaine "tit" avec strcat et puis tu mets la nouvelle chaine avec SetDlgItemText.
Commenter la réponse de vecchio56
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 13:49
0
Merci
ok, merci, je vai esyer avec :

SendMessage(htxt, EM_REPLACESEL, 1, (long) pszAutreText);

Merci
Commenter la réponse de cs_JCpp
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 15:26
0
Merci
pourquoi :

SendDlgItemMessage(hdlg, IDC_EDIT1, LB_ADDSTRING, 0, (LPARAM)"toto");
ne fonctionne pas

et que :
SendDlgItemMessage(hdlg, IDC_LIST, LB_ADDSTRING, 0, (LPARAM)"toto");
fonctionne

g fait strictement la mm chose
Commenter la réponse de cs_JCpp
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 16 août 2003 à 15:38
0
Merci
Salut,
Le 1er c'est un message LB_ADDSTRING vers une EDIT.
Ca risque pas de fonctionner.
Commenter la réponse de cs_aardman
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 16:06
0
Merci
j'ai esayé plain de chose a la place de LB_ADDSTRING
rien a faire, trouve pas.

WM_SETTEXT
WM_GETDLGCODE
EM_LIMITTEXT
EM_GETSEL
WM_GETTEXT

c koi stp
MERCI
Commenter la réponse de cs_JCpp
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 16 août 2003 à 16:11
0
Merci
Pour quoi faire ? ajouter du texte ? dans IDC_EDIT ?
Commenter la réponse de cs_aardman
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 16:16
0
Merci
je veux aficher du test ds Edit Box
Commenter la réponse de cs_JCpp
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 16 août 2003 à 16:19
0
Merci
Alors:

SetDlgItemText(hDlg, IDC_EDIT, "tontexte");

ou

SendDlgItemMessage(hDlg, IDC_EDIT, WM_SETTEXT, 0,(long) "coucou");
Commenter la réponse de cs_aardman
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 16:28
0
Merci
Merci, j'avai réuci avec la 1er solution

mai, ça fonctionne pas ci on en ajoute plusieurs a la suite

A chaque foi que je clique sur "OK", je voudrai afficher plain de coucou.

case IDC_OK:
SendDlgItemMessage(hdlg, IDC_EDIT1, WM_SETTEXT, 0,(long) "coucou");
return 0;

ça fonctionne tres bien avec la List BoX, et pas avec SendDlgItemMessage.
Commenter la réponse de cs_JCpp
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 16 août 2003 à 16:41
0
Merci
Salut,
Tu peux utiliser la méthode de BruNews elle marche tres bien !!
Tu récuperes da taille du texte de l'edit avec GetWindowTextLength,
Tu place la selection dans l'edit derriere le dernier caractere (EM_SETSEL),
Tu envoie un message EM_REPLACESEL avec ton nouveau texte,

Et il sera ajouté au texte précédent, dans ton edit box.
Commenter la réponse de cs_aardman
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 16:44
0
Merci
Ok, pour cet méthode,
Je suis prés a tt, depuis le tps que je cherche.

tu px me donner le morceau de code stp
Merci encore
aardman
Commenter la réponse de cs_JCpp
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 16 août 2003 à 16:53
0
Merci
...
Tu pourrais chercher un peu quand meme, je t'avais donné les fonctions principales a utiliser.

// declarer int iLen en global
iLen = GetWindowTextLength(GetDlgItem(hDlg, IDC_EDIT));
SendDlgItemMessage(hDlg, IDC_EDIT, EM_SETSEL, iLen, iLen);
SendDlgItemMessage(hDlg, IDC_EDIT, EM_REPLACESEL, 0,(long) "lenewtext");
Commenter la réponse de cs_aardman
cs_JCpp 334 Messages postés samedi 12 janvier 2002Date d'inscription 3 juillet 2010 Dernière intervention - 16 août 2003 à 17:08
0
Merci
MERCI 1000 foi
ça fonctionne

:)
Commenter la réponse de cs_JCpp

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.