WXWIDGET은 마우스가 움직일 때까지 업데이트되지 않습니다
문제
진행률 표시 줄이있는 wxwidgets 양식을 받았으며 내 사용자 지정 WXWIDGET 이벤트를 사용하여 스레드에서 진행 상황을 업데이트합니다. 사실은 마우스를 움직일 때 진행 상황을 보여줍니다. 새로운 진행 상황 값이 설정된 후에는 새로 고침 () 및 update ()를 추가하려고 시도했습니다.
내가 뭔가 잘못하고 있습니까?
Windows 7 Visual Studio 2005 C ++
편집하다:
이것은 내 현재 스레드 콜백입니다.
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);
}
}
해결책
나는 그것을 해결했다. settopwindow () 때문입니다. 내 앱 에서이 라인을 제거하면 모든 이벤트는 적시에 처리됩니다.
제휴하지 않습니다 StackOverflow