Følgende VCL komponenter er brugt: TForm, TButton, TOpenDialog og TListBox. Husk at tilføje "Jpeg" under uses!
var Form1: TForm1; Bitmap : TBitmap; implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject); begin //Skaber en Bitmap komponent Bitmap := TBitmap.Create; //Indsætter en linje i listboxen ListBox1.Items.Add('Test'); end;
procedure TForm1.Button1Click(Sender: TObject); var Jpeg : TJpegImage; begin if OpenDialog1.Execute then begin //Skaber Jpeg komponent Jpeg := TJpegImage.Create; //Indlæser billed Jpeg.LoadFromFile(OpenDialog1.FileName); //Konventere Jpeg til Bitmap Bitmap.Assign(Jpeg); //Frigøre Jpeg fra hukommelsen Jpeg.Free; //Opdatere Listboxen ListBox1.RePaint; end; end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin //Tegner bitmappen på listboxen with ListBox1.Canvas do Draw(0,0,Bitmap); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin //Frigøre bitmappen fra hukommelsen Bitmap.Free; end;
zerohero >> Det er meget fint men billeder bliver der ikke hvis du scroler ned, og man kan ikke se det der står i listen når man sætter stylen til lbOwnerDrawFixed.
Jamen hør nu her, din listbox's canvas er ligesom alle andre canvas. Du skal selvfølig selv skrive listens indhold med Canvas.TextOut() ved hjælp af ListBoxens Items.Count, TopIndex, ItemHeight, ItemIndex (det er ikke så svært!). Og det samme skal du jo selvfølig bruge hvis du vil lade dit baggrunds-billed scrolle med listens indhold.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.