mam sobie tło mojego listboxa tak że ładnie komponuje mi sie z Imagem który jest w tle a konkretnie tło lisboxa to ta częśc rysunku który jest przez niego zasłaniany. Aby to uzyskać urzywam tego:
W OnCreate formy :
var
TloListBoxa : TBitMap;
begin
TloListBoxa := TBitMap.Create;
TloListBoxa.LoadFromFile('TloListBox.bmp');
ListBox1.Brush.Bitmap := TloListBoxa;
end;
nastepnie zaznaczyam Style ListBox'a na lbOwnerDrawFixed a w OnDrawItem wpisuje:
var
TloListBoxa: TBitmap;
Licznik: integer;
begin
DoubleBuffered:=true;
with Control as TListBox do
begin
Canvas.Brush.Style:=bsClear;
try
TloListBoxa:=TBitmap.Create;
TloListBoxa.LoadFromFile('TloListBox.bmp');
Canvas.StretchDraw((Control as TListBox).ClientRect, TloListBoxa);
finally
TloListBoxa.Free;
end;
for Licznik:=0 to Items.Count-1 do
begin
Canvas.Font.Color:= Font.Color;
Canvas.FillRect(Rect);
Canvas.TextOut(2, 16*Licznik, items[Licznik]);
end;
end;
end;
wszysto jest ładnie pięknie do momentu w którym Itemów ListBoxa jest więcej i nie mogą się zmieścić od razu wszystkie tylko trzeba przesunąć ListBoxa w dół. Wtedy moje piekne tło zamienia się w koszmar.
MOJE PYTANIE:
Jak zrobić coś takiego aby tło sie nie zmieniało a jedynie Itemy z ListBoxa przesuwały się to w gór bądź w dół zależnie jak będziemy operować "przesuwakiem"...
Za wszelką pomoc z góry dziękuje
Peace out