Precyzyjniej : musisz narysować na ListBoxie (piksel po pikselu) to co znajduje się za nim. Pobierasz wartość koloru z obiektu będącego za nim i przypisujesz ją do odpowiedniego piksela w ListBox. Rysujesz i pobierasz piksele poprzez klasę Canvas. Proces rysowania musisz dodać do zdarzenia OnPaint. Jak przerysujesz tło musisz odrysować na nim elementy ListBoxa (Items - jak są to zwykłe napisy to proponuje użyć TextOut w Canvasie...)
Zobacz też metodę ScanLine na wypadek gdyby ci obraz skakał za mocno.. :p Jest ona zdecydowanie szybsza..
procedure TForm1.FormPaint(Sender: TObject);
var i,j:byte;
begin
for i:=0 to 150 do
for j:=0 to 150 do
ListBox1.Canvas.Pixels[i,j]:=form1.Canvas.Pixels[ListBox1.Left+i, ListBox1.Top+j];
end;
w efekcie otrzymuję czarny kwadracik, a liczyłem na kwadracik w kolorze formy (clBtnFace). Będe wdzięczny za kodzik. Wspome jeszcze, że pod tym listboxem ma być label. Jeżeli nie cały kodzik, to chociaż jak zrobić zrzut formatki w miejscu pod listbox'em (metoda inna niż przesuwanie listboxa, robienie zrzutu ekranu i wklajanie, bo to wydaje się być powolne)