Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
ВнизСвоё, что то типа DoubleBuffered Найти похожие ветки
← →
Chlavik (2003-10-16 19:14) [0]Привет... Как мне как можно быстрее нарисовать окно на моём битмапе, а потом уже на самом окне? Пробовал как в исходнике Controls ( TwinControl.WMPaint) но у меня не получается, воопервых постоянно RangeCheck Error выскаивает при Perfom(wm_EareBackGround....) (DC выходит за пределы Integer)) интересно что мой исходник копия того.. Кто посоветует как сделать правильно?
← →
clickmaker (2003-10-16 19:24) [1]Общая идея такова:
// Обработчик WM_PAINT
DC := BeginPaint(Handle, ps);
Bitmap := CreateCompatibleBitmap(DC, Width, Height);
MemDC := CreateCompatibleDC(DC);
OldBitmap := SelectObject(MemDC, Bitmap);
// рисуешь на MemDC
BitBlt(DC, Left, Top, Width, Height, Canvas.Handle, 0, 0, SRCCOPY);
SelectObject(MemDC, OldBitmap);
DeleteDC(MemDC);
DeleteObject(Bitmap);
EndPaint(Handle, ps);
← →
clickmaker (2003-10-16 19:25) [2]Сорри,
BitBlt(DC, Left, Top, Width, Height, MemDC, 0, 0, SRCCOPY);
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.018 c