WinAPI - Jak wyświetlić Bitmapę ?

0

Niom, jak w temacie, czy kiedy ma się aplikację z oknem
w WinAPI to to okno ma jakiś Canvas ? Jak się zabrać za
wyświetlenie Bitmapy ? Jedyne co mi przychodzi do głowy to
że to będzie trzeba odmalowywać przy otrzymywaniu
komunikatu WM_PAINT i poza tym to nic nie wiem...

[<font color="blue">dopisane</span>]

Dodam że już wiem jak to zrobić przez BitBlt() tzn:
WM_PAINT:BitBlt(GetDc(Hnd),0,0,300,350,Bmp.Canvas.Handle,0,0,SRCCOPY);
tyle że Bmp jest typu TBitmap i jest w module Graphics
który waży ok 100 KB i nie mogę sobie na niego pozowlić :-8

[<font color="blue">dopisane</span>]

OK :-) już sobie poradziłem, zostawiam dla potomnych :-D
a jeśli to już było to niech moderatorzy kasują...

Jeszcze dokładnie nie wiem jak to ma być,
może ktoś poprawi (Handle - uchwyt czegoś
na czym się chce wyświetlić, BITMAPA musi
być w zasobach)

var
  Mdc : Hdc;
begin
  Mdc := CreateCompatibleDC(GetDc(Handle));
  SelectObject(Mdc,LoadBitmap(hInstance,'BITMAPA'));
  BitBlt(GetDc(Handle),0,0,300,350,Mdc,0,0,SRCCOPY);
end;
0

Witam, jednak mam problem, bo ten kod dobrze działa
w normalnej aplikacji w zdarzeniu OnPaint natomiast
gdy uruchamiam to przy odebraniu komunikatu WM_PAINT to
jest jak by za często, bo także w trakcie przesuwania okna,
a nie tylko w tedy kiedy ma być odmalowane, i przez to po
jakimś czasie program wiesza Windowsa, jak to zrobić
żeby było w jak normalnym zdarzeniu OnPaint ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1