Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   wie kann ich zur Laufzeit Einträge in einer Listbox markieren (https://www.delphipraxis.net/199302-wie-kann-ich-zur-laufzeit-eintraege-einer-listbox-markieren.html)

max.08 13. Jan 2019 17:33


wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Hallo,

ich will zur Laufzeit durch suchen in einer Listbox einen bestimmten Eintrag markieren, ohne das der User in die ListBox klickt.

Ich benutze Delphi 10.2 Community Edition

Kann mir jemand auf die Sprünge helfen?

Gruß Max

Schokohase 13. Jan 2019 17:52

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Über die Eigenschaft Delphi-Referenz durchsuchenVcl.StdCtrls.TCustomListBox.Selected

max.08 13. Jan 2019 18:17

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
@Schokohase
Danke für Deine Antwort, aber damit kann ich nichts anfangen.

@alle
hat noch jemand eine Idee?

Schokohase 13. Jan 2019 19:21

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Es gibt die Eigenschften
Delphi-Quellcode:
ItemIndex
und
Delphi-Quellcode:
Selected
mit denen man das gewünschte Verhalten steuern kann. In der Dokumentation ist das beschrieben nebst Code-Beispielen.

Was genau verstehst du daran nicht?

DP-Maintenance 13. Jan 2019 19:42

Dieses Thema wurde am "13. Jan 2019, 20:42 Uhr" von "Luckie" aus dem Forum "Die Delphi-IDE" in das Forum "GUI-Design mit VCL / FireMonkey / Common Controls" verschoben.

p80286 13. Jan 2019 20:08

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Anders gefragt, wasfehlt Dir?

Gruß
K-H

max.08 13. Jan 2019 21:15

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Ich komme weder mit itemindex noch mit selected weiter. Der Eintrag wird nicht markiert.
Die Suche schreibt mir das Ergebnis zwar in ein Label, aber ich kann die Zeile in der Listbox nicht arktivieren.
Die Box wird automatisch sortiert.

Vielen Dank erstmal
Max

zeras 13. Jan 2019 21:17

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Hier wäre ein bißchen Code von deiner Seite sehr hilfreich.
Was genau geht denn nicht?

Schokohase 13. Jan 2019 21:19

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Wenn du uns deinen Code zeigen würdest könnten wir besser helfen.

Klaus01 14. Jan 2019 06:45

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
... vielleicht:
Delphi-Quellcode:
DeineListbox.ItemIndex[i].selectred := true;

Ich weiß nicht genau, ob man danach noch DeineListbox.invalidate aufrufen sollte.

Grüße
Klaus

Schokohase 14. Jan 2019 08:02

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Zitat:

Zitat von Klaus01 (Beitrag 1423249)
... vielleicht:
Delphi-Quellcode:
DeineListbox.ItemIndex[i].selectred := true;

Ich weiß nicht genau, ob man danach noch DeineListbox.invalidate aufrufen sollte.

Ein
Delphi-Quellcode:
Invalidate
ist hier nicht nötig, vor allem weil dein Vorschlag gar nicht kompiliert.

Entweder man verwendet
Delphi-Quellcode:
DeineListbox.ItemIndex := i;
oder
Delphi-Quellcode:
DeineListbox.Selected[i] = true;

peterbelow 14. Jan 2019 12:37

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Max,

normalerweise sollte sowas wie

listbox1.itemindex := 5;

den sechsten Eintrag der Listbox selektieren.

Wenn Du den Eintrag erst suchen mußt versuch so was wie

listbox1.ItemIndex := listbox1.Items.IndexOf('Zeile 3');

max.08 14. Jan 2019 15:58

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Habt alle Dank.
Ich konnte das "Problem" lösen. Habe in der For-Next Schleife das 'begin und end' vergessen.
Dadurch hat er mein IndexItem:=z falsch abgearbeitet.

Viele Grüße Max:-D

philipp.hofmann 14. Jan 2019 17:26

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
Das ist der Grund, warum Du hier Code-Schnipsel in die Issues einkopieren solltest. Da hätte man Dir sicherlich deutlich schneller helfen können.

TurboMagic 15. Jan 2019 18:59

AW: wie kann ich zur Laufzeit Einträge in einer Listbox markieren
 
m.W. ist ein Invalidate danach nicht nötig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 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