|
|
Listbox Autosuche abstellen |
|
benhuytom |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 19.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.08.2013, 10:59
Titel: Listbox Autosuche abstellen
|
 |
|
 |
|
Hey Leute,
ich hab ein kleines Problem, welches mich gerade etwas verzweifeln lässt.
Ich hab eine Listbox, in der man Sachen auswählen kann. Um nicht die Liste mit 5000 Einträgen per Hand zu durchlaufen, hab ich noch ein Suchfeld drüber gebastelt, dass mir dann "die Liste kürzt."
Dieses Suchfeld wird durch diese Funktion
befüllt und ausgeführt.
Das bringt aber ein Problem mit sich:
Wenn ich mich in der Listbox befinde, weil ich etwas ausgewählt habe und jetzt etwas tippe, sucht einmal mein Suchfeld danach in der Liste und zum anderen die Listbox an sich.
Die KeyPressFcn von der Listbox habe ich auch so überschrieben, dass dann das Suchfeld aufgerufen wird. Aber die "Suche" der Listbox wird trotzdem noch ausgeführt.
Gibt es da eine Möglichkeit, dass ich diese Suche von der Listbox ausschalten kann?
Wäre echt cool, wenn ihr da wisst, wie das geht. Ich dachte erst, es wäre etwas in der Properties oder so, aber dazu hab ich nichts passendes gefunden.
Mit freundlichen Grüßen,
Ben
PS: Falls nicht ganz klar ist, was ich mit Suche in der Listbox meine, führe ich es nochmal kurz auf:
Wenn man aktiv in der Listbox sich befindet, weil man z.B. etwas ausgewählt hat oder so, dann kann man einfach etwas eintippen. Z.B: "abc" und schon befindet man sich an der ersten Stelle in Liste, wo "abc" die Anfangsbuchstaben eines Wortes sind.
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.08.2013, 12:01
Titel: Re: Listbox Autosuche abstellen
|
 |
Hallo benhuytom,
Die automatische Suche in der Listbox is aktiv, wenn das UICONTROL den Fokus besitzt. Nun kann man zwar verhindern, dass das UICONTROL den Fokus erhält ('Enable' auf 'inactive' setzen), aber dann kann man die Listbox nicht mehr aktiv verwenden. Andererseits würde ich als Benutzer nicht erwarten, dass Aktionen im Such-Feld passieren, während die List-Box aktiv ist. Deswegen würde ich die KeyPressFcn der Listbox lahmlegen oder als Alternative die Listbox bei Keyboard-Eingabe inaktiv schalten und den Fokus an das Suchfeld weitergeben:
Gruß, Jan
|
|
|
benhuytom |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 19.07.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.08.2013, 13:45
Titel:
|
 |
|
 |
|
Hallo Jan,
danke erstmal für die fixe Antwort.
Man muss in der Listbox leider Sachen auswählen können, deswegen kann ich sie leider nicht inactive schalten.
Die Nutzer, die das im endeffekt verwenden sind es leider gewohnt, dass sie bei einer Tastatureingabe ein Suchfeld haben, was dann aufgefüllt wird und dementsprechend eine Suche ausgeführt wird.
Ich hab es jetzt versucht, wie du gesagt hast. Also das Feld inactive gemacht und nach meinem Ausführen es wieder Active geschaltet.
Das funktioniert soweit ganz gut. Trotzdem hab ich noch ein kleines Problem dabei. Es kommt vor, dass dann Trotzdem die Listbox einfach verschwindet.
Und ich kann nicht mal sagen wo genau in meinem Code, da im degbug-mode ich den Fehler nicht reprduzieren kann.
Update:
Ich hab herausgefunden woran es liegt, das Suchen wird trotzdem ausgeführt von der Listbox und es besteht immernoch das gleiche Problem. Selbst wenn ich die Listbox beim als erstes beim Callback auf inactive setze.
Das muss doch iregndwo implementiert sein?!
Grüße
Ben
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|