Приложение MDI. Создание анимации в каждом child-окне.
Для этого в потоке, отвечающем за перерисовку вида , в цикле
while (TRUE)
{
dwEvent = WaitForMultipleObjects( 3, cb->hEvents, FALSE, INFINITE);
switch (dwEvent)
{ // hEvent[0] was signaled. — SIZE
case WAIT_OBJECT_0 + 0:
.....
break;
// hEvent[1] was signaled. — DRAW
case WAIT_OBJECT_0 + 1:
.......
break;
// hEvent[1] was signaled. — CLOSE
case WAIT_OBJECT_0 + 2:
......
return 0; break;
default: ;
}
}
return 0;
}
крутится функция WaitForMultipleObjects, которая ждет установки одного из трех именных событий — изменение размера окна, перерисовка, закрытие. Установка события на перерисовку происхожит во втором потоке с большой частотой.
Проблема — событие на изменение размера и закрытие окна не доходит. Если устанавливать события на перерисовку с меньшей частотой — то вроде работает.
В чем причина и как это обойти?