Avatar billede fun22 Nybegynder
07. juli 2003 - 17:39 Der er 8 kommentarer og
2 løsninger

listbox komponent

Ved i hvor jeg kan finde en listbox komponent som kan udskifte borders med billeder, og sætte baggrunds billede?
Avatar billede nico26 Nybegynder
07. juli 2003 - 19:08 #1
Avatar billede fun22 Nybegynder
07. juli 2003 - 19:12 #2
har kigget men fandt ikke noget :(
Avatar billede borrisholt Novice
08. juli 2003 - 08:10 #3
Jeg har lavet en form du kan sætte et bagrunds billede på. Den kan du jo bare hacke om således det er en ListBok
Avatar billede fun22 Nybegynder
08. juli 2003 - 19:13 #4
Det skal være sådan at jeg kan ligge dette billede på boxen:

http://zig-software.dk/373663.jpg
Avatar billede zerohero Nybegynder
08. juli 2003 - 20:03 #5
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;

Held og Lykke
ZeroHero
Avatar billede zerohero Nybegynder
08. juli 2003 - 20:05 #6
PS: Husk at ændre ListBoxens Style til "lbOwnerDrawFixed"!
Avatar billede fun22 Nybegynder
08. juli 2003 - 21:05 #7
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.
Avatar billede zerohero Nybegynder
08. juli 2003 - 22:12 #8
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.
Avatar billede fun22 Nybegynder
08. juli 2003 - 22:45 #9
den skal ikke scrolle med indholdet. Det gør det nu. Når man scroller hopper det ned og sså op igen
Avatar billede fun22 Nybegynder
04. august 2003 - 13:07 #10
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester