Re[5]: Проблема перерисовок .....
От: SergH Россия  
Дата: 04.08.02 11:49
Оценка: 3 (1)
Здравствуйте Garvold, Вы писали:

SH>>А перетаскивать только рамку нельзя? Рамку можно рисовать XOR-ом.


G> XOR — это, я так понимаю, что-то из GDI+ ? (короче я не сталкивался)


Нет. Это такое условное название для одного из режимов рисования линий (в том числе) на DC. Пиксели цвета текущего pen'а просто копируются. А в этом режиме проводится операция XOR (в С обозначается ^) между пикселем pen'а и пикселем DC. Основной смысл в том, что:

1. Что бы не было нарисовано на DC, белая линия скорее всего будет видима (исключение — серый цвет 128, 128, 128).
2. Для стирания линии достаточно ещё раз нарисовать такую же линию в том же месте и в том же режиме. Это верно т.к. (A XOR B) XOR B == A

Режимы задаются функцей SetROP2, то что я говорил — параметр R2_XORPEN

G> А я рисую контур фигур линиями , но для перерисовки нужной области знаю только InvalidateRgn (ну или InvalidateRct)


G> Как я могу перерисовать только контур ?


Не обязательно перерисовывать всё в OnPaint. Есть функция GetDC, которая позволяет рисовать что угодно в любом месте программы.
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.