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/)
-   -   Delphi Listbox-Selektierung aufheben? (https://www.delphipraxis.net/105588-listbox-selektierung-aufheben.html)

JulianHH 25. Dez 2007 14:19


Listbox-Selektierung aufheben?
 
Hallo Leute,

ich stehe gerade etwas auf dem Schlauch.
Wie kann ich eine Selektierung in einer Listbox bei Klick auf einen Button aufheben, so dass kein Element mehr selektiert ist?

Danke schonmal für eure Hilfe und noch schöne, entspannte Feiertage!

Lieben Gruß,
Julian

ErazerZ 25. Dez 2007 14:21

Re: Listbox-Selektierung aufheben?
 
ItemIndex = -1.

JulianHH 25. Dez 2007 14:26

Re: Listbox-Selektierung aufheben?
 
das habe ich auch gedacht und getestet.. funktioniert leider nicht.
Selbst nach einem anschließenden listBox.refresh; tut sich nichts. :-(

Muetze1 25. Dez 2007 15:05

Re: Listbox-Selektierung aufheben?
 
Meinst du selektiert oder fokussiert? Hast du die Mehrfachselektion eingeschaltet?

JulianHH 25. Dez 2007 15:51

Re: Listbox-Selektierung aufheben?
 
Ich meine selektiert, MultiSelect ist ausgeschaltet. Klappt leider nicht.

Vielleicht funktionierts wenn ich zusätzlich den Fokus entferne? Hat einer noch eine Idee dazu?

Muetze1 25. Dez 2007 17:56

Re: Listbox-Selektierung aufheben?
 
Zitat:

Zitat von JulianHH
Ich meine selektiert, MultiSelect ist ausgeschaltet.

Wenn diese Aussagen stimmen, dann funktioniert es definitiv mit dem Setzen von ItemIndex auf -1. Überprüfe also nochmal deine Aussagen bzw. deinen Code. Setzt du vllt. eine andere ListBox?

Zitat:

Zitat von JulianHH
Vielleicht funktionierts wenn ich zusätzlich den Fokus entferne?

Hat darauf keinen Einfluß.

JulianHH 26. Dez 2007 11:54

Re: Listbox-Selektierung aufheben?
 
Merkwürdig,

es ist tatsächlich MultiSelect auf False:
http://img.skitch.com/20071226-j53rx...e4y5mcgsck.jpg

Und Ausschnitt aus dem Code:
Delphi-Quellcode:
procedure TfrmMainWindow.restoreAndRefreshTurns;
begin
  lstTurns.ItemIndex := -1;
  lstTurns.Refresh;
  strGr_field.Refresh;
end;
Nun bin ich ratlos..

Muetze1 26. Dez 2007 13:55

Re: Listbox-Selektierung aufheben?
 
Das refresh bei der Listbox ist, wie schon beschrieben, unnötig. Stelle dich mit einem Brechpunkt doch mal auf die restoreAndRefreshTurns Methode und schau ob sie durchlaufen wird. Wenn das bestätigt ist, dann stell dich doch mal auf alle Stellen in deinem Code, wo du den ItemIndex setzt und schau, ob der Debugger bei einer der vielen anhält.

Grundsätzlich kann es nur noch direkt so programmiert sein bzw. ein Logikfehler im Programm vorliegen. Vllt. einfach nur ein OnChange was dummerweise durch zwei andere Aufrufe wieder den ItemIndex setzt o.ä.

Aber da hilft dir dann der Debugger weiter...

JulianHH 27. Dez 2007 09:41

Re: Listbox-Selektierung aufheben?
 
Hmm, nun läuft es, ich bin mir nicht sicher warum, aber es geht.

Vielen Dank nochmal für eure Beiträge!


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