Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.46.18] |
|
Сообщ.
#1
,
|
|
|
Я рисую мышкой прямоугольник в своей программе и он мерцает, хотя стоят beginpaint и фон не пересовается
|
Сообщ.
#2
,
|
|
|
Как рисуешь?
|
Сообщ.
#3
,
|
|
|
FillRect в WM_PAINT
|
Сообщ.
#4
,
|
|
|
Код покажи.
|
Сообщ.
#5
,
|
|
|
WM_Mousemove я вызываю invalidRect
в WM_Paint Beginpaint FillRect endpaint и все |
Сообщ.
#6
,
|
|
|
InvalidateRect устанавливает регион окна, которое
будет перерисовано при вызове WM_PAINT по идеи в WM_MOUSEMOVE в InvalidateRect должны передаваться текущие координаты рисуемого прямоугольника (структура RECT) и тутже неплохо бы вызвать функцию UpdateWindow Должна обновляться тока та часть окна, которую занимает рисуемый прямоугольник Успехов.... |
Сообщ.
#7
,
|
|
|
И bErase должен быть FALSE!
|
Сообщ.
#8
,
|
|
|
Да я все так и сдедал! А ведь мерцает...
|
Сообщ.
#9
,
|
|
|
рисуй в виртуальном HDC,
когда закончишь - копируй на HDC BeginPaint. гарантировано мерцать не будет |
Сообщ.
#10
,
|
|
|
Я надеюсь обрабатывать WM_ERASEBKGND не забываешь??
Если забываешь - см. поиск по сишному разделу - там просто тонна кода уже выложена |
Сообщ.
#11
,
|
|
|
так ж оно (WM_ERASEBKGND) у меня не вызывается ???
(смотрел ) А на счет виртуального HDC у меня ж рисование проче некуда, проче чем вывод виртуального HDC |