Я получил форму wxWidgets с индикатором выполнения, и я обновляю прогресс из потока, используя свое собственное пользовательское событие wxWidget. Это работает хорошо, за исключением того факта, что форма показывает только прогресс обновления, когда я перемещаю мышь. Я попытался добавить Refresh () и Update () после установки нового значения прогресса, но безуспешно.
Я что-то не так делаю или это глюк с wxWidgets?
Windows 7 visual studio 2005 c ++
Edit:
Это мой текущий обратный вызов потока:
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);
}
}
И обновление прогресса:
void UploadProgPage::onUpdate(wxOnUploadUpdateEvent &event)
{
if (event.type == UPDATE_PROGRESS)
{
m_pbProgress->SetValue(event.info->precent);
Refresh(false);
}
}