Witam.
Jak zrobic, zeby przy zmianie rozmiaru okna rysunek w nim nie migal? Slyszalem cos o podwojnym buforowaniu, ale probowalem korzystac z roznych przykladow i niestety nic z tego nie dzialalo w moim przypadku.
Czy ktos moglby mi wytlumaczyc w ktorym miejscu programu co powinienem napisac aby obraz nie migal podczas zmiany rozmiaru okna?
Oto fragment mojego kodu:
Sekcja WM_PAINT w WindowProcedure
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint (hwnd, &ps);
GPS.SetDC(hdc);
GPS.DrawMap();
EndPaint(hwnd, &ps);
break;
}
Funkcja DrawMap
void GPSApi::DrawMap()
{
HPEN COLOR_P = CreatePen(PS_TYPE_, PS_SIZE_, 0x000000);
HPEN OLD_COLOR_P = (HPEN)SelectObject(hdcOkno_, COLOR_P);
HBRUSH COLOR_B = CreateSolidBrush(0xFFFFFF);
HBRUSH OLD_COLOR_B = (HBRUSH)SelectObject(hdcOkno_, COLOR_B);
Ellipse(hdcOkno_, x-radius, y-radius, x+radius, y+radius);
SelectObject(hdcOkno_, OLD_COLOR_P);
DeleteObject(COLOR_P);
SelectObject(hdcOkno_, OLD_COLOR_B);
DeleteObject(COLOR_B);
}
W funkcji SetDC(hdc) po prostu przypisuje hdcOkno_ = hdc;
I teraz pytanie gdzie i jak zrobic to buforowanie zeby zniwelowac miganie?
Z gory dziekuje za pomoc :)