![]() |
ListBox Item verstecken?
Gibt es die Möglichkeit, Einträge einer ListBox zu verstecken? Sei es komplett verstecken oder nur die Höhe auf 1px einstellen. Geht sowas?
|
AW: ListBox Item verstecken?
Ja. Indem man diese gar nicht erst addiert.
|
AW: ListBox Item verstecken?
Die müssen leider in der Liste sein, da ich sonst mit meiner Zählung und den Texten nicht hinkomme.
Ich würde ja eine VirtualStringTree nehmen aber das ist viel Aufwand, wenn die am Ende genau so aussehen soll wie meine ListBox aktuell. |
AW: ListBox Item verstecken?
Listbox Items haben keinen visiblen Status.
Du könntest sowas versuchen aber ob es Funktioniert habe ich noch nicht getestet.
Delphi-Quellcode:
SendMessage( hWnd, LB_SETITEMHEIGHT, rowIndex, 0)
Damit sollte die Höhe der Zeile auf 0 gesetzt werden. |
AW: ListBox Item verstecken?
Keine Datenhaltung in der Anzeige. (Index der Komponente ist vollkommen egal)
C und D fehlen, dennoch keine Probleme damit. Items löschen, einfügen, verschieben, sortieren, umbenennen (z.B. Mehrsprachigkeit) ... alles keine Problem.
Delphi-Quellcode:
Es ist zwar als TObject deklariert, aber in der LISTBOX (WinAPI) ist es bloß ein dummer "Integer".
ListBox1.Items.AddObject('A', TObject(0));
ListBox1.Items.AddObject('B', TObject(1)); ListBox1.Items.AddObject('E', TObject(4)); ListBox1.Items.IndexOf('E') == 2 NativeInt(ListBox1.Items.Objects[2]) == 4 ![]() Falls du keine bösen Casts magst, dann nimm eben ein Datenobjekt dafür.
Delphi-Quellcode:
type
TDataObject = class Index: Integer; constructor Create(AIndex: Integer); end; ListBox1.Items.AddObject('A', TDataObject.Create(0)); ListBox1.Items.AddObject('B', TDataObject.Create(1)); ListBox1.Items.AddObject('E', TDataObject.Create(4)); ListBox1.Items.IndexOf('E') == 2 TDataObject(ListBox1.Items.Objects[2]).Index == 4 // und die Freigabe natürlich nicht vergessen |
AW: ListBox Item verstecken?
Mh ich glaube ich schreibe alles auf VST um, das ist dann wesentlich einfacher mit dem Ein- und Ausblenden.
|
AW: ListBox Item verstecken?
|
AW: ListBox Item verstecken?
Dann lieber VST, weil ich schon an anderen Stellen 2 VST nutze, die komplett auf meine bedürfnisse angepasst wurden.
|
AW: ListBox Item verstecken?
Wenn man den VST generisch nutzt und nicht mit Pointern hantiert wie in vielen Beispielen, ist der auch sehr einfach nutzbar. Das lässt sich leicht implementieren und dafür spart man sich später viel Quelltext und Aufwand.
|
AW: ListBox Item verstecken?
Mach doch einfach noch eine TStringList mit allen Einträgen udn fülle dann eine ListBoix nur mit den WErten die wu brauchst. Wenn du dann in der Combobox was auswählst suchst du in der StringListe den Eintrag über den Namen der Conbobox-Auswahl und verwendest dannn den entsprechenden Index aus der StringList.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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