Dialog währen laufenden Prozess anzeigen

Frido

Grünschnabel
Ich habe eine Funktion die eine komplexe Berechnung durchführt. Was ein bisschen dauert. Jetzt hab ich mir gedacht das ich während dieser Zeit einfach einen Dialog einblende mit einem "bitte warten" Text darauf.

Wenn ich aber den Dialog mit DoModal öffne, wird die Funktion nicht weiter ausgeführt.

Weis jemand wie ich das lösen könnte?
 
Du mußt mit 'CDialog::Create' den Dialog ohne Systemmenü und ohne Buttons anlegen und ihn mit 'ShowWindow(SW_SHOW)' anzeigen. Wenn die Berechnung fertig ist, dann mußt Du den Dialog mit ShowWindow(SW_HIDE) wieder schließen. Dann kannst Du das Dialogobjekt zerstören.
 
Generell solltest du dir noch threads und forks anschauen. Damit kannst du einen Childprozess deines Hauptprozesses schaffen und einige solcher Probleme loesen. Beispielweise auch mehrere Berechnungen gleichzeitig durchfuehren.
 
Zurück