문제

진행률 표시 줄이있는 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 () 때문입니다. 내 앱 에서이 라인을 제거하면 모든 이벤트는 적시에 처리됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top