Prob SetDlgItemText [Résolu]

Signaler
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006
-
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006
-
Salut a tous.

Me revoici encore une fois avec un probleme a la con...

Voila... J'essaie de betement mettre un texte dans une edit box comme ceci :

SetDlgItemText(hDlg,IDC_ILOT,"test");

Mias voila.. Il me dit qu'il ne peut convertir mon char en const unsigned short *.

J'ai égalment essayer comme cela (vu sur le forum):

SendDlgItemMessage(hDlg, IDC_ILOT, EM_REPLACESEL, 0,(long) "test");

Mais la je me retrouves avec de jolis carrées dans la zone d'affichage...

Quelqu'un aurait il une solution svp ?


<CENTER>Mess with the best
Die Like the rest</CENTER>
A voir également:

13 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,

Il parait que ton code utilise UNICODE. Dans ce cas il faut faire:

SetDlgItemText (hDlg, IDC_ILOT, TEXT("test") );
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
comme normal y a un 'T' qui m'avait échappé...

TCHAR buf[24];
TCHAR *strtmp1;

strtmp1 = buf;
GetDlgItemText(hDlg,IDC_LIEU,strtmp1,6);

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

HuHu. Merci beaucoup... Va vraiment falloir que je bosses ce maudit Win32.. Les MFC ca m'a ramoli le cerveau ;)

Encore merci


<CENTER>Mess with the best
Die Like the rest</CENTER>
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Saine réaction !!!

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

Merci merci. Mais j'avou que pour certain truc j'en chie un peu quand meme... Surtout tout ce qui est interaction avec editbox,..

D'ailleurs... ca doit être le meme genre de probleme que l'autre mais je n'arrive pas a recuperer le code des editbox :D

Vala ce que j'envoi.

GetDlgItemText(hDlg,IDC_LIEU,strtmp1,LEN_LIEU);

Je me doutes que les problemes vient du strtmp1 qui ne doit pas etre caster comme il faut mais pas moyen de trouver.

Quelqu'un pourrait m'aider ?


<CENTER>Mess with the best
Die Like the rest</CENTER>
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

Petite precision... strtmp1 est un char*.

De plus, je viens de remarquer que la solution du dessus ne fonctionne pas si l'on remplace "test" par ue variable...


<CENTER>Mess with the best
Die Like the rest</CENTER>
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Tu ne voudrais pas écrire à l'adresse d'un pointeur qui ne pointe sur rien par hasard ?

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

Voila mon message d'erreur. Que je tente de recuperer ou d'écrire dans mo edit box.

cannot convert parameter 3 from 'char *' to 'unsigned short *'

Et voila les codes que j'utilises :

case UM_SCAN:
char* strtmp1, strtmp2;


GetDlgItemText(hDlg,IDC_LIEU,strtmp1,6);

et :

void SetValue(HWND hDlg, int control, char* value)
{
SetDlgItemText(hDlg,control,value);
}

Après j'admets que la je sais vraiment pas...


<CENTER>Mess with the best
Die Like the rest</CENTER>
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
strtmp1 NE POINTE SUR RIEN (comme prévu).
Comme son nom l'indique, un POINTEUR DOIT POINTER SUR UNE ADRESSE !!!

char buf[24];
char *strtmp1;
strtmp1 = buf;

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

strtmp1 = strlieu;
GetDlgItemText(hDlg,IDC_LIEU,strtmp1,6);

J'ai essayer comme ca... mais j'ai toujours le meme message d'erruer. J'ai également essayer en remplacant strtmp par strlieu et pareil..


<CENTER>Mess with the best
Die Like the rest</CENTER>
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
ah mais tu es en unicode...
alors ce n'est pas char* qu'il te faut mais CHAR* ou tout autre type Windowsien qui représente un 'WORD*'.

ciao...
BruNews, MVP VC++
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

Je suis vraimentdésolé de faire mon lourd. Mais est ce que tu pourrais me filler un petit exemple... Parce que je suis completemet à l'ouest... Pas moyen d'y arriver... Je vois bien tout les bout qu'il faut mais pas moyen de les assembler...

Désolé :(


<CENTER>Mess with the best
Die Like the rest</CENTER>
Messages postés
39
Date d'inscription
lundi 7 avril 2003
Statut
Membre
Dernière intervention
7 juillet 2006

Merci beaucoup :)

Ca marche nickel !


<CENTER>Mess with the best
Die Like the rest</CENTER>