Проблема: AbortThumbnail ни когда не вызывается, а по документации вроде как должна. Брал файлы по 20МБайт — ниразу не зашла в функцию, при этом картика отрисовывается без проблем. В чем ошибка? Может кто сталкивался с аналогичной проблемой? На всякий случай — версия GDIPlus.dll 5.1.3097.0
Упрошенный кусок исходника:
BOOL CALLBACK AbortThumbnail(void* callbackData)
{
BOOL abort;
.
.
.
if(abort) return TRUE;
else return FALSE;
}
UINT MakeThumbnail(LPVOID lParam)
{
CChildView *pWnd = (CChildView *)lParam;
ASSERT(pWnd->IsKindOf(RUNTIME_CLASS(CChildView)));
CDC* pDC = pWnd->GetDC();
Graphics* graphics = new Graphics(pDC->m_hDC);
Image* pImage = new Image(L"J:\\Samples\\Image 00001.bmp");
UINT width = pImage->GetWidth();
UINT height = pImage->GetHeight();
Image* pThumbnail = pImage->GetThumbnailImage(width/20, height/20, AbortThumbnail, (void*)pWnd);
graphics->DrawImage(pThumbnail, 0, 0, pThumbnail->GetWidth(), pThumbnail->GetHeight());
delete pThumbnail;
delete pImage;
delete graphics;
return 0;
}
void CChildView::CreateThumbnail()
{
m_pTThread = AfxBeginThread(MakeThumbnail, (LPVOID)this, THREAD_PRIORITY_LOWEST, 0, CREATE_SUSPENDED, NULL);
m_pTThread->m_bAutoDelete = FALSE;
m_pTThread->ResumeThread();
}
Заранее всем спасибо!