Prob setwindowtext

cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006 - 8 mars 2004 à 11:56
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 24 janv. 2005 à 21:46
Probleme tout con, je veux changer le texte d'un static (ou d'un editbox), pour cela j'utilise SetWindowTest(). Le prob est que le nouveau texte se superpose a l'original ds le static :/
par exemple, si le texte est 1 et que je veux le changer en 2, et ba les 2 chiffres seront superposés
c'est assez genant

j'ai essayer de vider le static avant, mais ca revient au meme
j'ai essayé egalement SetDlgItemText, idem
que faire ?
merci d'avance

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 mars 2004 à 12:19
SetWindowText() change texte existant, prob doit venir du buffer qui contient le texte, verifie.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
8 mars 2004 à 12:31
char txt[3];
SetWindowText(GetDlgItem(hwnd, IDC_STATIC), itoa(post, txt, 10));

post etant un entier ne depassant pas 2 chiffres
le texte original du static est 1
voila le texte mis en cause
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
8 mars 2004 à 19:17
BOOL SetWindowText(
HWND hWnd, // handle de la fenetre
LPCTSTR lpString // ce que tu veux mettre comme titre
);
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
8 mars 2004 à 21:18
Merci LordBob, mais c'est exactement ce que j'utilise... itoa converti l'entier post en char ;)
qqn aurait-il une autre idée svp ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 mars 2004 à 21:28
flatou ne fait pas assez attention a ce qui est mis dans l'exemple, faut eraser le fond du static avant de lui poser le nouveau texte, c'est bien sur le static invisible je suppose que tu as un prob ?
char sztxt[4]; // ALIGNE donnees sur 4 !!! proc 32 bits
compilo pas forcement intelligent toujours
SetWindowText(hsttxt, 0);
InvalidateRect(hsttxt, 0, 1);
... // recup texte a entrer
SetWindowText(hsttxt, sztxt);

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
8 mars 2004 à 22:55
char txt[4];
SetWindowText(GetDlgItem(fHwnd, IDC_COUNT), 0);
InvalidateRect(GetDlgItem(fHwnd, IDC_COUNT), 0, 1);
SetWindowText(GetDlgItem(fHwnd, IDC_COUNT), itoa(post, txt, 10));

fonctionne tjr pas
voici le code pour le static :

HWND hCount = CreateWindowEx(0, "STATIC", "1", WS_VISIBLE|WS_CHILD|SS_CENTER, 20, 5, 15, 15, hwnd, (HMENU)IDC_COUNT, hThisInstance, NULL);

avec un petit SetBkMode((HDC) wParam, TRANSPARENT); ds la wndproc pour mettre le fond en transparent

il est space ce static, il aime bien superposé les texte :-une autre idée avec ces propositions ? je precise que le prob est qu'a chaque SetWindowText, le texte est superposé avec le précédent

merci a ceux qui se penche sur mon probleme

ps : j'ai essayé avec des char directement ("a" ds le createwindowtext et "b" ds le setwindowtext), sans effet, ca ne vient donc pas de la manipulation des int
0
DarkBoss Messages postés 154 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 12 décembre 2008
23 janv. 2005 à 21:32
moi aussi ca me le fait et j' ai toujours pas trouvé de solution !!!
je me demande à quoi cela est dû !

DarkBoss
0
DarkBoss Messages postés 154 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 12 décembre 2008
24 janv. 2005 à 17:55
et quand je repasse le fond en non-transparent cela marche !
alors que quand le fond est transparent .... ca bug

DarkBoss
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
24 janv. 2005 à 21:46
c'est fait ici:
TEXTE SUR IMAGE (WIN32, NON MFC)
http://www.cppfrance.com/code.aspx?id=9674
TEXTE SUR IMAGE 2 (WIN32)
http://www.cppfrance.com/code.aspx?ID=29054

ciao...
BruNews, MVP VC++
0
Rejoignez-nous