Polling Schleife mit Threads unterbrechen?
-
Hallo zusammen,
ich arbeite gerade an einem System, dass seine grafische Oberfläche auf Basis von Grundgrafikfunktionen erstellt. Dabei werden Benutzereingaben oder das Drücken einer Taste über viele Polling Schleifen verarbeitet.
Undgefähr auf diese Art:
do { switch(taste) { case ESC: ... case F_2: ... } }while(1)
wenn nun z.B. auf F2 gedrückt wird, dann springt das Programm in den case-Block und generiert daraufhin den zu erwartenden Dialog.
Ich möchte nun die alten Dialoge mit neuen wxWidgets-Dialoge ersetzen. Wenn ich nun einen Dialog integriere passiert aber folgender Effekt, dass der Dialog zwar gezeichnet wird, man aber durch die do-while - Schleife (eine Art polling) keine Event des Dialogs mehr abfangen kann. Auch das verschieben des Dialogs ist nicht mehr möglich.
Ich wollte nun mal von euch hören, was ihr mir dazu empfehlen könnt um das Problem zu lösen. Kann man vielleicht über Threads diese Geschichte steuren? Das heißt, dass wenn in diesem Bsp. F2 gedrückt wurde ein wxThread gestartet wird, der vor der do-while-Schleife ausgeführt wird. Wäre so etwas denkbar?
Oder muss ich die komplette do-while-Schleife außer Gefächt setzen um die neuen Dialog zu integrieren?Vielen Dank für die Antworten
Gruß
-
Du kennst wxKeyEvent?