2010-08-02 14 views
9

Mam utworzony obraz z 20 bitmapy w środku i wartością dropdownlist od 1 do 20. Kiedy wybiorę listę rozwijaną, powinna ona pokazać bitmapę odpowiadającą indeksowi listy rozwijanej. Mam problem z wyświetlaniem tego samego obrazu po wybraniu listy rozwijanej i zbyt małego obrazu. Masz pomysł na rozwiązanie tego problemu? i czy obraz jest większy?Wyświetlanie elementów imageli w Timage

procedure TForm1.FormShow(Sender: TObject); 
var 
    i : integer; 
begin 
    for i:=0 to 20 do begin 
    cboIcon.Items.Add(inttostr(i)); 
    end; 
end; 

procedure TForm1.cboIconChange(Sender: TObject); 
begin 
    ImageList1.Draw (Image1.Canvas, 0,0, cboIcon.ItemIndex); 
end; 

Odpowiedz

14

Można spróbować tego kodu:

Image1.Stretch := true; // to make it as large as Image1 
Image1.Proportional := true; // to keep width/height ratio 
Image1.Picture.Bitmap:= nil; // clear previous image 
ImageList1.GetBitmap(cboIcon.ItemIndex, Image1.Picture.Bitmap); 
+0

nie musisz „spróbuj tego kodu”, trzeba użyć tego kodu !! –

+4

Możesz chcieć dodać Image1.Picture.Bitmap: = zero przed załadowaniem, w przeciwnym razie nie będzie wyświetlać kolejnych obrazów. –

+0

powinniśmy po prostu edytować, aby pokazać całość. Gotowe. –

Powiązane problemy