Как заметил уважаемый Patalog: CDC::SetROP2 + R2_XORPEN — не выход, так как в данном случае та штука, что ты собираешься рисовать, будет не того цвета, что ты ожидал...
Можно сделать,например, так:
Все, что ты рисуешь на CView, лучше рисовать в буфере — контексте устройства в памяти. Тогда по мере надобности ты сможешь перерисовывать только нужные участки (см. CDC::BitBlt(...)).
Таким образом, отрисовав "палочку вдоль екрана", можно восстановить эту область экрана с минимальными затратами по времени.
Тут только один минус — затраты на хранение изображения в памяти... Но плюсов гораздо больше, главный — возможность оптимальной перерисовки и отсутствие мерцания изображения.