SetWindowText

Résolu
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007 - 13 avril 2007 à 20:43
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007 - 14 avril 2007 à 17:19
Bonjour, j'ai un souci sur un controle EDIT multiline, j'utilise SetWindowText pour le remplir (je l'utlise comme un log), le problème c'est que les messages ne s'affichent pas immediatement, c'est seulement à la fin du programme que tout cela s'affiche, comment puis-je obtenir un affichage immediat? une commande de flushage?

merci de votre aide

Frenchy

5 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 avril 2007 à 14:09
Comment ca la fin du prog? Si c'est à la fin d'un traitement, c'est normal (la fenêtre ne sera pas rafraichie avant que le programme ne passe par la boucle des messages). Tu peux essayer de forcer l'affichage en appelant UpdateWindow juste après SetWindowText.

Sinon, pour ajouter du texte dans un edit, tu peux utiliser EM_REPLACESEL en prenant soin auparavant de déplacer la sélection à la fin de l'edit.

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
13 avril 2007 à 22:42
Salut,
Normalement, ça devrait s'afficher immédiatement. Le problème semble venir d'un truc dans le code. Pas possible de trouver la cause du problème sans voir le code.
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
14 avril 2007 à 08:28
A tout hasard n'essayerais tu pas de mettre à jour ton edit dans une boucle ?
Si oui, prendre en compte le temps de rafraichissement des controles en mode GUI.

Shell
0
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007
14 avril 2007 à 11:30
Ce n'est pas dans une boucle mais je veux loguer ce que je fais

suivant les differentes étapes de mon processu
processus()

atction 1
SetWindowText(mise a jour du CTRL edit multiline...)

action 2
recup du texte puis addon de la suite
SetWindowText(misea jour)

etc

voilou
quand je mets un messagebox intercalé,  cela s'affiche comme si il y avait un flush..
mais sans messagebox ce nest qu'a la fin du prog que totu s'affiche
j'espère avoir été clair

Frenchy
0

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

Posez votre question
Frenchy62620 Messages postés 14 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 14 avril 2007
14 avril 2007 à 17:19
Ok merci pour l'aide, le updatewindows fonctionne,
 pour info j'avais testé autre chose utiliser une listbox à la place..j'insére un enregistrement puis derriere je repositionne le pointeur (message LB_SETCURSOR)  pour repositionner l'index sur cette zone , là c'est okay...
C'était un petit problème rigolo mais cela peut aider d'autres personnes!!

Frenchy
0
Rejoignez-nous