Re: Помогите с GDI
От: FirstStep Россия  
Дата: 09.04.05 18:45
Оценка:
Здравствуйте, dap, Вы писали:

dap>Таймером вызываю функцию SendMessage(hWnd, WM_PAINT, NULL, NULL);

dap>Блок обработки WM_PAINT выглядит так:

dap>
dap>case WM_PAINT:
dap>    hdc = BeginPaint(hWnd, &ps);
dap>    SetPixel(hdc, x++, 30, RGB(0,0,0));
dap>    EndPaint(hWnd, &ps);
dap>    break;
dap>


dap>Точки рисуются только тогда, когда Виндовз сама пошлет WM_PAINT.

dap>Вопрос: почему точки не рисуются по таймеру?

Просто у тя недействительный прямоугольник не изменяется и WM_PAINT понимает что рисовать то нечего... поэтому и не рисует точки...
Если написать в таймере

RedrawWindow(hWnd, NULL, NULL, RDW_INVALIDATE|RDW_UPDATENOW);


то должно рисоваться.... правда мерцать могит, но это уже другая история
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.