LabVIEWForum.de
Mehrspaltiges Listenfeld mit Pfeiltasten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Mehrspaltiges Listenfeld mit Pfeiltasten (/Thread-Mehrspaltiges-Listenfeld-mit-Pfeiltasten)



Mehrspaltiges Listenfeld mit Pfeiltasten - TDO - 11.02.2015 07:43

Hallo Zusammen,

ich benutze das Mehrspaltige Listenfeld um mir Daten anzuzeigen.
Der Benutzer soll dann einzelne Einträge über die ENTF Taste aus der Liste entfernen können und über die Pfeiltasten in dem Feld navigieren können.
Das funktioniert soweit auch halbwegs. Ich benutze einen Event-Handler um die Tastendrücke abzufangen.
Wenn der Benutzer die Pfeiltasten betätigt, wird der Wert des Listenfeldes einfach inkrementiert bzw. dekrementiert.
Nun zum Problem:
Wenn eine Pfeiltaste mehrmals hintereinander gedrückt wird, funktioniert es prima. Sobald aber die Richtung, also von oben nach unten oder umgekehrt geändert wird, werden immer 1-2 Zeilen übersprungen. Sprich: Es ist Zeile 8 markiert und ich wechsle die Richtung nach oben -> Markierung springt auf Zeile 5.
Hat jemand eine Idee, woran das liegen könnte?!

Gruß
TDO


RE: Mehrspaltiges Listenfeld mit Pfeiltasten - dali4u - 11.02.2015 08:26

Ohne ein Minimalbeispiel als VI kaum, soweit reicht meine Glas2 nicht...
Poste bitte ein VI und wenn möglich in LV2011 oder LV2012 Format, nicht
jeder kann LV2014 öffnen und desto mehr können helfen.


RE: Mehrspaltiges Listenfeld mit Pfeiltasten - TDO - 11.02.2015 08:49

Hallo,

ich habe dann jetzt mal das Listenfeld mit dem Event-Handler in ein eigenes VI für LV2011 gepackt, so wie es bei mir eingesetzt wird.
Da ist dieser Effekt erkennbar.

Gruß
TDO

[attachment=52084][attachment=52085]


RE: Mehrspaltiges Listenfeld mit Pfeiltasten - GerdW - 11.02.2015 09:00

Hallo TDO,

dein VI ist unter LV2011 nicht lauffähig:
[attachment=52086]
Die schwarz eingefärbte Property gibt es (noch) nicht…

Zitat:Wenn eine Pfeiltaste mehrmals hintereinander gedrückt wird, funktioniert es prima. Sobald aber die Richtung, also von oben nach unten oder umgekehrt geändert wird, werden immer 1-2 Zeilen übersprungen. Sprich: Es ist Zeile 8 markiert und ich wechsle die Richtung nach oben -> Markierung springt auf Zeile 5.
Zum Problem:
Dein Event lautet "Taste losgelassen": Zu diesem Zeitpunkt hat die MCL den Tastendruck schon verarbeitet und ist selbst schon eine Zeile weiter. Du setzt dann hinterher über die Property nochmals eine neue Zeile…

Wenn du Tastendrücke verarbeiten willst, OHNE dass das Control dies auch tut, musst du die Filter-Events ("Taste gedrückt?") verwenden!


RE: Mehrspaltiges Listenfeld mit Pfeiltasten - TDO - 11.02.2015 09:04

Okay, dann hier nochmal ohne diese Property.

[attachment=52087]


RE: Mehrspaltiges Listenfeld mit Pfeiltasten - GerdW - 11.02.2015 09:06

Hallo TDO,

ich habe die Property einfach entfernt, um selbst dein VI zu testen - Ergebnis siehe oben!

Noch ein Nachtrag:
Das Event "Taste gedrückt(?)" bietet auch den Wert "VTaste" an, dieses ist ein Enum mit Klarnamen der gedrückten Tasten. Lässt sich sehr viel einfacher mit deiner Case-Struktur auswerten!


RE: Mehrspaltiges Listenfeld mit Pfeiltasten - TDO - 11.02.2015 09:15

Hallo Gerd,

vielen Dank. Dh ich brauche die Cases für die Pfeiltasten überhaupt nicht...
Ich meine, ich hatte, bevor ich das implementiert hatte, probiert, ob ich über die Pfeiltasten navigieren kann und es ging nicht. Deshalb habe ich das eingebaut.
Jetzt habe ich die Cases entfernt und es funktioniert einwandfrei.

Vielen Dank!