Tab Wechsel während Schleifendurchlauf

Quick_Mik

Mitglied
Halo.

Ich habe in einer Anwendung ein TabCtrl mit mehreren Seiten. Auf einer der Seiten habe ich einen Countdown Timer implementiert. Starte ich diesen nun, stapeln sich die Messages in der Warteschleife und werden erst abgearbeitet, wenn die Schleife des Timers beendet ist.
Somit kann ich während des Countdowns nicht weiterarbeiten.

Hat jemand ne Idee, wie man es realisieren kann, dass der Countdown läuft und trotzdem ein TabWechsel erfolgen kann?

Ich vermute mal mit dem Einsatz von Threads...

Falls ja, würde mir ein kleines HowTo sehr weiterhelfen, da ich bei den Themen mit Thread hier im Forum nichts gefunden hab, was mir wirklich weitergeholfen hat :confused:

Danke im Voraus.

Gruß

M.
 
Wie hast Du denn den Countdown implementiert?
Wenn Du da eine eigene Schleife, evtl. mit sleep(...), programmiert hast, dann gibt es erstens bessere Möglichkeiten, z. B. mit SetTimer, der bei Ablauf eine Callback-Funktion aufruft.
Zweitens, immer , wenn Du eine Schleife hast, in der viel passiert und die lange läuft, solltest Du in die Schleife die Befehlsfolge
Code:
		if(PeekMessage(&AppMsg, 0, 0, 0, PM_NOREMOVE))
		{
			GetMessage(&AppMsg, 0, 0, 0);
			TranslateMessage(&AppMsg);
			DispatchMessage(&AppMsg);
		}
einbauen, um die Messagequeue abzuarbeiten.
Die beste Möglichkeit für arbeitsintensive oder lange blockierende Schleifen ist natürlich ein eigener Thread.
Für Deine Anwendung würde ich aber, wie oben schon gesagt, Set Timer(...) empfehlen.
 
Danke für den Tipp.

Hab das ganze nun so gelöst, funktioniert prima. Und ist ausserdem einige Zeilen Code weniger als vorher mit while Schleife und Sleep(...)

Nochmals danke.

Gruß

M.
 
Zurück