graficzne tło w listview

0

Witam!

Poszukuję kodu dzięki któremu mógłbym umieścić graficzne tło w komponencie TListView. Chodzi o pobranie obrazka o danym indexie z TImageList i wstawienie go wysrodkowanego w komponencie. Czy jest to możliwe? A jeżeli tak to czy mógłby mi ktoś podać przykładowy kod? Za pomoc z góry dziękuje :)

0

mozna tak

procedure TForm1.ListView1CustomDraw(Sender: TCustomListView;
const ARect: TRect; var DefaultDraw: Boolean);
begin
ListView1.Canvas.StretchDraw(ARect,Image1.Picture.Bitmap);
end;

a w starych delphi przechwycic komunkiaty
WM_ERASEBKGND

pomocne rownierz !
LVM_SETTEXTCOLOR
LVM_SETBKCOLOR

0

Dziękuję za odpowiedź :)

Obrazek ładnie jest rysowany, natomiast przysłania on wszystkie napisy, gdyż są one pod nim, a nie nad nim. Jakieś rozwiązanie?

0

for i:=0 to listview1.items.count-1 do
ListView1.Canvas.textout(5,i*20,listview1.items[i].text);

//liczby sobie dobierz sam - pisze z pamieci.

0

Dzięki :)

No to jeszcze zapytam się o dwie rzeczy:

W obecnej chwili obrazek rozciągnięty jest na cały komponent. A czy można go dać na środek komponentu bez rozciągania?

I ostatnia rzecz - znalazłem kod który powinien (według autora) sprawić, że tekst w listview będzie na przeźroczystym tle, jednak to nie działa. Czy coś tu jest źle?

  SetBkMode(Lista.Canvas.Handle, TRANSPARENT);
  ListView_SetTextBkColor(Lista.Handle, CLR_NONE);
  ListView_SetBKColor(Lista.Handle, CLR_NONE);

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