Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listbox mit Value (https://www.delphipraxis.net/55975-listbox-mit-value.html)

davar 29. Okt 2005 21:16


Listbox mit Value
 
Hallo Leute,

ich möchte gern die Einträge in einer Listbox nummerieren, um auf die einzelnen items zugreifen zu können. Erschwerend dabei ist: listbox.sorted:= true;

Ich habe mich hier schon ein wenig umgeschaut, als einzige Hilfe kam mir "ValueListeditor" entgegen. Das scheint das zu sein, was ich suche, habe ich aber nicht bei Delphi 3.

Gibt es eine andere Lösung für mein Problem?


MfG

davar

x000x 29. Okt 2005 21:46

Re: Listbox mit Value
 
Moin moin,

setze Style der ListBox auf OwnerDraw und dann im OnDrawItem die Zeilen
Delphi-Quellcode:
   with Control as TListBox do begin
      if odSelected in State then
         Canvas.Brush.Color := clHighlight;
      Canvas.FillRect(Rect);
      Canvas.TextOut(Rect.Left+2, Rect.Top+2, IntToStr(Index+1)+ '. ' + Items[Index]);
   end;

Lannes 29. Okt 2005 22:08

Re: Listbox mit Value
 
Hallo,
Zitat:

Zitat von davar
ich möchte gern die Einträge in einer Listbox nummerieren, um auf die einzelnen items zugreifen zu können.

wenn die Nummerierung unsichtbar sein soll,
dann würde ich es mit AddObjekt machen:
Delphi-Quellcode:
//Eintragen in ListBox
  ListBox1.Items.AddObject('Zum Gruß',Pointer(1));
  ListBox1.Items.AddObject('Hallo',Pointer(2));
  ListBox1.Items.AddObject('Auf Wiedersehen',Pointer(3));
//anzeige
//  Auf Wiedersehen
//  Hallo
//  Zum Gruß
Delphi-Quellcode:
//Eintrag mit der Nr. 3 suchen
var z,i : integer;
begin
  i := 3;
  for z := 0 to ListBox1.Items.Count -1 do
    if Integer(ListBox1.Items.Objects[z]) = i then
      begin
      showmessage('gefunden: '+ ListBox1.Items[z]);
      exit;
      end;
end;

x000x 29. Okt 2005 23:02

Re: Listbox mit Value
 
@Lannes: also eine "unsichtbare" Nummerierung ist doch eh schon über den Index vorhanden, wozu
dann nochmal nummerieren :gruebel:

Lannes 29. Okt 2005 23:30

Re: Listbox mit Value
 
Hallo,

vermute das die Nummerierung vom Index abweicht, und :

Zitat:

Zitat von davar
...ich möchte gern die Einträge in einer Listbox nummerieren, um auf die einzelnen items zugreifen zu können. Erschwerend dabei ist: listbox.sorted:= true;

würde sagen, warten wir mal ab was der Tread-Ersteller antwortet :wink:

x000x 29. Okt 2005 23:41

Re: Listbox mit Value
 
upps,
Nummerierung, um auf die Items zuzugreifen...
Hab ich voll überlesen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz