wxWidgets Fenster refreshen / friert ein

Gast #417173
Lesenswert?
• ▲
▼
Ich habe jetzt mit wxWidgets angefangen. Ich lese eine Diskette ein und
erstelle ein Image. Dazu wird in einer Statusbar angezeigt wie weit das
es schon ist. wird jedoch das Fenster verschoben, oder minimiert und
wiederhergestellt ist das Fenster weiss. Windows meint "keine
Rückmeldung", Bis die Diskette eingelesen ist, dann funktionierts
wieder. Ich habe jetzt noch dort wo der Status geändert wird ein
this->Refresh(); eingefügt, mit dem Ergebnis das das Fenster von selbst
weiss wird (ohne verschieben oder so). Wie kann ich das verhindern? Kann
ich etwas aufrufen das das ganze neu aufbaut oder muss ich da Threads
machen (das würde ich lieber noch lassen...)?

mfg Andreas
Persönliche Seite #417174
Lesenswert?
• ▲
▼
Ich vermute, du blockierst da ganze Programm beim Auslesen auf
irgendeine Weise. Damit blockierst du auch die gesamte
Eventverarbeitung und damit das Neuzeichnen beim maximieren usw.
Es gibt mehrere Möglichkeiten, dass ganze zu umgehen:
- Du verlagerst das ganze Einlesen in einen Thread (am saubersten)
- Du verlegst das Einlesen in den OnIdle-Handler
- Du rufst nicht nur refresh regelmäßig auf sondern auch wxApp::Yield.
Das veranlasst das Ausführen aufgelaufener Events
Gast #417175
Lesenswert?
• ▲
▼
>- Du rufst nicht nur refresh regelmäßig auf sondern auch wxApp::Yield.
Wie? Ich habe keine Instanz, wenn ich das richtig sehe wird das ganze
mit IMPLEMENT_APP(Project2FrmApp) gestartet... Wobei diese Klasse von
wxApp Yield geerbt hat... Ich habe schon gesucht aber Google findet
nicht das Yield das ich suche....

mfg Andreas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren