UpdateData(FALSE) in Schleifen?
-
Hallo,
ich nochmal...
wie kriege ich das hin, das UpdateData(false) in Schleifen bei jedem Durchlauf mein dialogfenster aktualisiert? Er macht das bei mir nämlich nur, nachdem er die Schleife fertig durchlaufen hat...
for (int i=0; i<10; i++) { m_TextUpdate += "blablubb \r\n"; UpdateData(FALSE); Sleep(100); }Das soll mir also aller 0,5s einmal Text ausgeben, es gibt aber nach 5s 10 mal Text auf einmal aus...
-
Dein Code soll zwar eine Aktualisierung bewirken, das Neuzeichnen geht aber erst, wenn Du die Schleife verlassen hast. Dann kann auch OnDraw aufgerufen werden.
Außerdem: woher kann man an Deinem Code erkennen, dass die Textanzeige alle 0,5 s erfolgt? Das ist unter Windows generell ein Problem....
-
Die anderen Nachrichten die zum Verarbeiten deiner Textausgabe und alles was da dran hängt verantwortlich sind, werden innerhalb der Schleife nicht verarbeitet. Du musst dir irgendwas dazwischen basteln, das den Message Queue abarbeitet. Guck dir mal PeekMessage und PumpMessage an
-
Ich glaube, dazu steht sogar was in den FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39085.html
-
isabeau schrieb:
Ich glaube, dazu steht sogar was in den FAQ:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39085.htmlDanke für den Link, probier ich mal aus!