TListBox.OnSelectionChange

Rund um die LCL und andere Komponenten
Antworten
Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

TListBox.OnSelectionChange

Beitrag von Eclipticon »

Hi,

selektiere ich ein Element in einer TListBox mit ItemIndex oder durch Auswahl durch den User, wird OnSelectionChange ausgeloest. Wird das selektierte Element geloescht, die Selektion aufgehoben und ItemIndex -1, passiert das jedoch nicht.

Ist dieses Verhalten beabsichtigt oder ein Bug?

Kann ich ueber irgendeine Property festlegen, dass immer irgendein Element selektiert sein muss?

Danke :-)

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: TListBox.OnSelectionChange

Beitrag von MmVisual »

Ja, ist Absicht, denn der weiß ja nicht welches Element dann aktiv sein soll, das muss du schon selbst programmieren.

Bzw. deine Routinen müssen immer prüfen ob eines selektiert ist bevor die Aktion gestartet wird. z.B. wenn die leere Liste neu gefüllt wird, ist auch keines selektiert.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: TListBox.OnSelectionChange

Beitrag von Eclipticon »

Hmmmm ... aergerlich.

Konkret moechte ich in der Behandlung von OnSelectionChange festlegen, ob gewissen Buttons verfuegbar sind, was von der Auswahl eines Elements abhaengt. In die eine Richtung funktioniert das ja gut, in die andere (Selektion wird aufgehoben) leider garnicht ...

Aufgrund deiner Beschreibung kann ich schon nachvollziehen, warum die ListBox kein Element ersatzweise selbst aktiviert, aber warum OnSelectionChange nicht ausgeloest wird, hat damit doch nix zu tun ...

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: TListBox.OnSelectionChange

Beitrag von MmVisual »

Das OnClick Ereignis sollte besser funktionieren.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: TListBox.OnSelectionChange

Beitrag von Eclipticon »

Nein, das Problem besteht weiter (ClickOnSelChange := True)

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: TListBox.OnSelectionChange

Beitrag von MmVisual »

Wenn du ein Delete machst, kannst du ja in der nächsten Codezeile das Event selbst manuell auslösen.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: TListBox.OnSelectionChange

Beitrag von Eclipticon »

Schon klar ... ich bin mir aber nach wie vor nicht sicher, warum OnSelectionChange nicht ausgeloest wird. Es ist ja wohl ausser Diskussion, dass sich die Auswahl aendert ...

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: TListBox.OnSelectionChange

Beitrag von MmVisual »

Schreibe hier

http://bugs.freepascal.org/my_view_page.php" onclick="window.open(this.href);return false;

einen "Report Issue", dann wird man sehen ob es geändert wird oder ob es einen Grund gibt warum das so ist.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: TListBox.OnSelectionChange

Beitrag von Eclipticon »

Das habe ich auch vor ... koennt es vorher noch irgendwer auf Linux oder MacOS ausprobieren, ob das Verhalten da auch so ist?

Danke :-)

Antworten