Ich habe ein wxWidgets-Formular mit einem Fortschrittsbalken darauf und ich aktualisiere den Fortschritt von einem Thread mit meinem eigenen benutzerdefinierten wxWidget-Ereignis. Das funktioniert gut, außer dass das Formular nur die Fortschrittsaktualisierung zeigt, wenn ich die Maus bewege. Ich habe versucht, Refresh() und Update() hinzuzufügen, nachdem der neue Fortschrittswert eingestellt ist, aber ohne Glück.wxWidgets werden nicht aktualisiert, bis sich die Maus bewegt
Mache ich etwas falsch oder ist das ein Fehler mit wxWidgets?
Windows 7 Visual Studio 2005 C++
Edit:
Dies ist meine aktuellen Thread Rückruf:
EVENT_CALLBACK_PTR_CPP(onProgress, UploadProgPage)
{
updateInfo* temp = static_cast<updateInfo*>(ptr);
if (temp)
{
wxOnUploadUpdateEvent event(wxEVT_UPLOAD_UPDATE, GetId(), temp, UPDATE_PROGRESS);
event.SetEventObject(this);
GetEventHandler()->AddPendingEvent(event);
}
}
Und der Fortschritt Update:
void UploadProgPage::onUpdate(wxOnUploadUpdateEvent &event)
{
if (event.type == UPDATE_PROGRESS)
{
m_pbProgress->SetValue(event.info->precent);
Refresh(false);
}
}