2009-06-23 19 views
2

我得到了一個wxWidgets表單上的進度條,我使用我自己的自定義wxWidget事件更新線程的進度。這工作正常,除了事實是窗體只顯示進度更新當我移動鼠標。在設置了新的進度值之後,我嘗試添加Refresh()和Update(),但沒有運氣。wxWidgets不會更新,直到鼠標移動

我做錯了什麼或者這是一個wxWidgets的小故障?

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); 
    } 
} 

回答

1

我的工作了。它因爲SetTopWindow();當我從我的應用中刪除此行時,所有事件都會在適當的時候處理。