Мерцание в GDI независимо от использования памяти DC и BitBlit

0

Я попытался избежать мерцания в GDI, создав DC памяти, загрузив в него пустую созданную растровую карту, выполнив весь чертеж в память DC, а в конце BitBlitting в pDC. Но все же, мерцание все еще происходит? Зачем? Возможно ли, что это связано с использованием EMF файлов или что-то в этом роде? Спасибо.

Теги:
mfc
gdi

1 ответ

2
Лучший ответ

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

  • 0
    Спасибо, сэр, я сделал это, но все равно ничего не изменилось. Можете ли вы вспомнить какую-либо другую причину, которая может спровоцировать это?
  • 0
    Ага, это работает! Я сделал ошибку при смене обработчика. Большое спасибо! Можете ли вы объяснить мне, почему это происходит, если я все на экране стираю? Возможно ли, что этот обработчик вызывается перед методом OnDraw? Сначала он очищает область, а затем вызывает ее, это правильно? Еще раз большое спасибо.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню