У меня проблемы с использованием BitBlt в этой программе. Вы изменяете размер окна, а размер эллипса изменяется вместе с ним. Конечно, с помощью обычного метода HDC, он нестабилен и мерцает. Я попробовал метод BitBlt, но он тоже не работает (вероятно, потому что я делаю это неправильно).
Может кто-нибудь исправить мою ошибку? * 1001 спасибо *
bool sizing; //global
case WM_PAINT:
{
RECT rect;
GetClientRect(hwnd, &rect);
hdc = BeginPaint(hwnd, &ps);
mem = CreateCompatibleDC(hdc);
SelectObject(mem, GetStockObject(HOLLOW_BRUSH));
if(sizing)
{
Ellipse(mem,rect.left, rect.top, rect.right, rect.bottom);
}
BitBlt(hdc, rect.left, rect.top, rect.left - rect.right, rect.top -rect.bottom , mem, rect.left, rect.top, SRCCOPY);
DeleteDC(mem);
EndPaint(hwnd, &ps);
break;
}
case WM_SIZE:
sizing = true;
break;