nicht-modaler dialog mit cancel-button

Onkel Schuppig

Erfahrenes Mitglied
Ich habe ein Testprogramm, welches einen nicht-modalen Dialog mit einem Cancel-Button aufruft und dann in eine Endlosschleife geht.
Die Endlosschleife tut nichts anderes als eine Status-Variable der Dialogbox abzurufen und wenn diese Eins ist, zu terminieren.
Die Status-Variable soll durch Betätigung des Cancel-Buttons auf 1 gesetzt werden.
Der Event-Handler für den Button ist vorhanden.
Jedoch habe ich keine Möglichkeit, den Button zu betätigen, weil das Hauptprogramm offenbar das ganze Nachrichtensystem blockiert.
Was ist hier zu tun?
 
Du musst die MessagePump am Laufen halten, sonst reagiert das Fenster nicht mehr.

In deiner Endlosschleife musst du sowas einbauen:

MSG msg;

while ( PeekMessage( &msg, 0, 0, 0, PM_NOREMOVE ) )
{
GetMessage( &msg );
TranslateMessage( &msg );
DispatchMessage( &msg );
}
 
Zurück