Messages in der MFC
-
Sorry, falls ich jetzt ne dumme Frage stelle, aber ich benutze jetzt zum ersten mal die MFC und hab da ein Problem:
Normalerweise frage ich die Windows-Messages mit PeekMessage ab und verteile sie gegebenenfalls mit DispatchMessage. Danach kann ich dann noch eigene Sachen machen die nicht Message-orientiert sind, also ständig laufen sollen. Wo mache ich denn sowas in der MFC; da gibts nur BEGINN_MESSAGE_MAP und END_MESSAGE_MAP?
-
So dumm ist die Frage gar nicht
Was passiert bei Deiner Messageloop, nehmen wir ein Beispiel:
while( PeekMessage( PM_REMOVE)) { DispatchMessage(); TueWas(); }
Diese Messageloop wartet zwar nicht, bis eine Message anliegt, aber sollte eine anliegen, kann erst darauf reagiert werden, wenn TueWas() beendet wurde.
In der MFC sieht das ganze so aus:
while( GetMessage()) { DispatchMessage(); }
Jetzt kann, sollten alle Messagebehandlungsroutinen beendet sein, sofort auf die Nachricht reagiert werden.
Um nicht message-orientierte Sachen laufen zu lassen, welche immer laufen sollen, verwendet man dann Threads.