UpdateData et Thread

Résolu
Daemonight Messages postés 40 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 29 décembre 2010 - 8 juin 2008 à 19:42
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 - 9 juin 2008 à 04:48
Bonjour

voila, je cherche a mettre un jour l'affichage d'un Edit Control depuis un Thread

J'ai d'abord constaté à mes dépend qu'il n'est pas possible d'utiliser UpdateData (provoque un ASSERTION FAILED)

Un post vieux de 4 ans parle de la solution suivante :
si ma variable de controle s'apelle c_tbx :
c_tbx.SetWindowTextW( ... )

mon probleme, c'est que le type de donnée à filer en argument est "LPCTSTR" ... et ça ... moi pas connaître ...
surtout que ce que je veux afficher dans mon Edit Control, c'est un bête int . (j'ai essayé avec un cast, du style
c_tbx.SetWindowTextW((LPCTSTR)i)

mais celà ne fonctionne pas...

je suis complètement débutant en MFC, hier, je ne savais pas qu'il fallait associer une varible à un contrôle ...

merci pour votre aide

Daemonight
<----------------------------------------------->
On reconnait un bon developpeur au baobab qu'il a dans la main...
A voir également:

4 réponses

Daemonight Messages postés 40 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 29 décembre 2010 1
9 juin 2008 à 02:10
Justement, j'ai pas de probleme en C, je me debrouille assez bien, et je ne PEUT PAS abandonner ce fatras, pour la bonne et simple raison que je ne programme pas ce truc pour le plaisir, mais pour un projet (suis en école d'ingénieur informatique / électronique)...
Juste que je ne savais pas que LPCTSTR était un pointeur (on a eu AUCUN cours de vrai C++, mais maintenant que je le sais, je me rend compte à quel point c'est abérant de le caster en entier, effectivement ! )...
bref, j'ai trouvé une solution en utilisant une méthode de CString :

    CString temp;
    temp.Format( _T("%d"), capteur.Battery);
    c_tbx_batt.SetWindowTextW( temp );

et j'ai galéré pendant une bonne demi-heure à cause du _T ... ... pas compris à quoi ca sert, mais ca ne fonctionne pas sans.
Merci quand même pour vos réponses éclairantes

++

<----------------------------------------------->
On reconnait un bon developpeur au baobab qu'il a dans la main...
3
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
8 juin 2008 à 19:52
LPCTSTR c'est un pointeur sur caractères type char (8 bits) si t'es en ANSI ou wchar_t (16 bits) si t'es en UNICODE.
faut que t'utilises une fonction de conversion d'entier à chaîne de caractères; puis-je te suggérer de la faire toi-même? Bon exercice.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 juin 2008 à 22:27
Voila ce que c'est de commencer avec des surcouches cachant le code (MFC ici, toute autre serait idem).

cast d'un entier en pointeur chaine, c'est un non sens absolu.
Abandonne tout ce fatras et plonge toi dans un bouquin de C sinon tu n'apprendras jamais rien ainsi.

ciao...
BruNews, MVP VC++
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
9 juin 2008 à 04:48
Bonsoir,

_T (ou _TEXT) est une macro qui transforme la chaîne passée en paramètre en chaîne UNICODE si le programme utilise UNICODE (la chaîne est préfixée avec L) et en chaîne "normale" si le programme n'utilise pas UNICODE (le _T ne sert à rien dans ce cas).
Jean-François
0
Rejoignez-nous