Как нарисовать анимацию в прозрачном окне с помощью Windows API?

Я пытаюсь нарисовать анимацию в окне с прозрачным фоном с помощью Windows API. Проблема в том, что я не могу удалить предыдущий рисунок из окна.

Я установил следующие параметры:

InvalidateRect(m_hWnd, &sClientRect, TRUE);  // we set the bErase parameter as TRUE
paintParams.dwFlags = BPPF_ERASE; // erase window content while copying backbuffer
paintParams.pBlendFunction = &m_sBlendfunc; // copy source image to backbuffer

Но он все равно не работает. Вы можете увидеть результат на прикрепленном изображении. Мне нужна анимация - это перемещение кружков по экрану. Вместо этого я получаю (как показано на прикрепленном изображении) артефакты их движения, потому что окно не очищается перед каждой розыгрышем.

См. Мой полный код ниже: alt text

7
задан Cody Gray 26 December 2010 в 10:12
поделиться