Код рисующий 16x16 bitmap в нижнет правом углу окна работает нормально.
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc;
hdc = ::BeginPaint(hDlg, &ps);
HBITMAP bmp = ::LoadBitmap(::GetModuleHandle(NULL),
MAKEINTRESOURCE(IDB_BITMAP1));
HDC memDc = ::CreateCompatibleDC( hdc );
HBITMAP oldBitmap = (HBITMAP) ::SelectObject( memDc, bmp );
RECT rct = {0};
::GetClientRect(hDlg, &rct);
::BitBlt( hdc, rct.right - 16, rct.bottom - 16, 16, 16,
memDc, 0, 0, SRCCOPY);
::SelectObject( memDc, oldBitmap );
::DeleteDC(memDc);
::EndPaint(hDlg, &ps);
}
break;
---
Тот же код не работает для диалогового окна. При увеличении размера диалога, появляется "шлейф" из bitmap-ок. При уменьшении размера - bitmap не отрисовывается. Как это исправить?
Спасибо.
|