AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox Item verstecken?

Ein Thema von DieDolly · begonnen am 29. Aug 2022 · letzter Beitrag vom 30. Aug 2022
Antwort Antwort
Seite 1 von 2  1 2      
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

ListBox Item verstecken?

  Alt 29. Aug 2022, 20:23
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?
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 20:28
Ja. Indem man diese gar nicht erst addiert.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 20:33
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.

Geändert von DieDolly (29. Aug 2022 um 20:35 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 20:41
Listbox Items haben keinen visiblen Status.

Du könntest sowas versuchen aber ob es Funktioniert habe ich noch nicht getestet.
SendMessage( hWnd, LB_SETITEMHEIGHT, rowIndex, 0)

Damit sollte die Höhe der Zeile auf 0 gesetzt werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 20:46
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:
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
Es ist zwar als TObject deklariert, aber in der LISTBOX (WinAPI) ist es bloß ein dummer "Integer". MSDN-Library durchsuchenCB_SETITEMDATA


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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Aug 2022 um 21:02 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 20:51
Mh ich glaube ich schreibe alles auf VST um, das ist dann wesentlich einfacher mit dem Ein- und Ausblenden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 21:08
TDBListBox + TClientDataSet o.Ä.
TListView
Delphi-Referenz durchsuchenTControlList
Bei Google suchenTEasyListview (GetIt)
...

Millionen Wege
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#8

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 21:10
Dann lieber VST, weil ich schon an anderen Stellen 2 VST nutze, die komplett auf meine bedürfnisse angepasst wurden.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: ListBox Item verstecken?

  Alt 29. Aug 2022, 21:39
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: ListBox Item verstecken?

  Alt 30. Aug 2022, 13:21
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz