В приложении MFC я хочу показать курсор ожидания (песочные часы) в течение всего времени работы потока, но при вызове
SetCursor(LoadCursor(NULL, IDC_WAIT));
из статической функции-члена ThreadProc нетэффект.Любая помощь?
Спасибо, RSel
Редактировать
Разобрался.Это один из способов сделать это:
Вызвать LoadCursor в конструкторе:
m_cursor = LoadCursor(NULL, IDC_WAIT);
Вызвать SetCursor прямо перед AfxBeginThread:
SetCursor(m_cursor);
AfxBeginThread( ... );
Перезаписать OnSetCursor, чтобы предотвратить курсорот преждевременного перехода назад:
CMyView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if (m_thread_is_running)
{
return false;
}
else
{
return CView::OnSetCursor(pWnd, nHitTest, message);
}
}