Скролл и OnPaint - ну просто ЖУТКИЙ тормоз.
От: avanti  
Дата: 12.09.02 20:36
Оценка:
Уважаемые корифеи!!!
Может кто снисходительно просветит несведущего?
Есть окно со скроллерами( при создании, указаны в стиле окна).
Я делаю следующее: создаю контекст памяти, привязываю к нему битмап, по размеру больший,
чем окно. На него отрисовываю что-нить. На события ON_WM_VSCROLL(),ON_WM_HSCROLL() я выставляю позицию скроллера и делаю InvalidateRect(&aWndClientRect). На OnPaint() я выполняю
this->GetDC()->BitBlt(0,0,aWndClientRect.right,aWndClientRect.bottom, &memDC,GetScrollPos(SB_HORZ),
GetScrollPos(SB_VERT),SRCCOPY ); Все это работает, но только ЖУТКО ТОРМОЗНО!!! И глядя на иные приклады,
я подобного тормоза не вижу. Еще я заметил, что у меня просто не переставая засылается PAINT. Ради теста
я вписал в OnPaint простейщую строку типа TextOut(x,y, число репейнтов), открыл окно и замер. Выводимый в
окне счетчик тут же устремился к пределам LongInt, хотя я окно не трогаю. Но репейнт прет не переставая.
Подскажите плиз, как все сделать грамотно??? Я пока также по букам полезу.
Заранее спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.