J'ai un formulaire wxWidgets avec une barre de progression et je mets à jour la progression d'un thread en utilisant mon propre événement wxWidget personnalisé. Cela fonctionne bien, sauf le fait que la forme ne montre que la mise à jour de progrès lorsque je bouge la souris. J'ai essayé d'ajouter Refresh() et Update() après que la nouvelle valeur de progression soit définie mais sans chance.wxWidgets ne se mettra pas à jour jusqu'à ce que la souris se déplace
Est-ce que je fais quelque chose de mal ou est-ce un problème avec wxWidgets?
Windows 7 Visual Studio 2005 C++
Edit:
Ceci est mon rappel courant de fil:
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);
}
}
Et la mise à jour des progrès:
void UploadProgPage::onUpdate(wxOnUploadUpdateEvent &event)
{
if (event.type == UPDATE_PROGRESS)
{
m_pbProgress->SetValue(event.info->precent);
Refresh(false);
}
}