LabVIEWForum.de
Tastaturfokus auf ein beliebiges Arrayelement setzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Tastaturfokus auf ein beliebiges Arrayelement setzen (/Thread-Tastaturfokus-auf-ein-beliebiges-Arrayelement-setzen)



Tastaturfokus auf ein beliebiges Arrayelement setzen - Odie - 22.04.2014 09:13

Hallo zusammen,

ich stelle mir gerade eine kleine Bedienoberfläche zusammen, mit der ich Barcodes erfassen kann.
Da alle Barcodes die gleichen Eigenschaften haben, dachte ich mir ich packe die zusammen in einen Cluster und mache daraus ein Array mit variabler Anzahl von Elementen.
Siehe auch Screenshoot im Anhang. Jetzt möchte ich den Tastaturfokus auf die erste Zeile zu setzen. Das funktioniert auch wunderbar.
[attachment=49448]

Jetzt meine Frage:
Ist es möglich, den Tastaturfokus nach erfolgter Eingabe automatisch auf die zweite Zeile zu setzen?
Anscheinend kann ich mir nur eine Referenz auf das Arrayelement in der ersten Zeile geben lassen, jedoch nicht für andere Zeilen. Ich habe zumindest in Labview, im Forum und auf der NI Seite nichts dazu gefunden.

Natürlich könnte ich das Element an Index 1 in der ersten Zeile anzeigen lassen und dann da den Fokus darauf setzen.
Jedoch ist dann die gerade eingegebene Zeile (Index 0) nach "oben rausgerutscht" und nicht mehr sichtbar, was beim User vielleicht verwirrend wirkt, wenn das gerade Eingegebene einfach verschwindet.

Alternativ kann ich auch eine reine Eingabezeile machen und fertige Eingaben dann in dem Array ablegen und anzeigen.

Schon mal danke an euch und nachträglich noch Frohe Ostern

Gruß
Dieter


RE: Tastaturfokus auf ein beliebiges Arrayelement setzen - GerdW - 22.04.2014 12:13

Hallo Dieter,

Zitat:Alternativ kann ich auch eine reine Eingabezeile machen und fertige Eingaben dann in dem Array ablegen und anzeigen.
Das würde ich für die schönere Lösung halten:
- Man kann statt eines (mMn) häßlichen Array of Cluster eine Tabelle/Listbox zur Anzeige verwenden.
- Man hat dann z.B. eine Titelzeile mit den Beschriftungen und muss nicht in jedem Cluster "ID", "Normbezeichnung", etc. anzeigen…
- Man kann in Tabellen/Listboxen die Hintergrundfarbe zur Markierung der aktiven Zeile verwenden.
- Man hat ein definiertes KeyFocus-Element für das Einlesen der Barcodedaten.
- …


RE: Tastaturfokus auf ein beliebiges Arrayelement setzen - Lucki - 22.04.2014 16:00

Zwar scheinst Du recht stolz auf die durchaus ansprechende Darstellung zu sein - aber das Normale für eine derartige Aufgabe ist und bleibt nun einmal die Tabelle (wie vom schnellen Gerd schon erwähnt) . Sie läßt sich auch noch besser als so:
[attachment=49452]
formatieren. Wenn Du dich dahin durchringen könntest, ist Dein Problem auf einfachste Art gelöst. Dort gibt es die Eigenschaft: "Editierposition"


RE: Tastaturfokus auf ein beliebiges Arrayelement setzen - Odie - 23.04.2014 09:25

schon mal danke an euch beide für die Anregungen.

Wahrscheinlich werde ich dann auf die Tabellenansicht umsteigen.
Bin noch relativ am Anfang und ist daher noch schnell umzusetzen.

Weshalb ich nicht gleich eine Tabelle genommen habe, liegt daran, dass darin nur Strings abgelegt werden können und keine Zahlen oder Enums.
Vorallem beim Enum "Lieferant" weiß ich noch nicht so genau, wie ich das in der Tabelle umsetzen kann, dass bei der Eingabe nur die definierten Werte zulässig sind.

Vielleicht mach ich doch eher eine "Eingabezeile" aus Einzelelementen und nur als Anzeige eine Liste.
Oder hat noch jemand eine gute Idee dazu?

Gruß
Dieter


RE: Tastaturfokus auf ein beliebiges Arrayelement setzen - GerdW - 23.04.2014 09:28

Hallo Odie,

Zitat:Vielleicht mach ich doch eher eine "Eingabezeile" aus Einzelelementen und nur als Anzeige eine Liste.
So würde ich das auch umsetzen…
Du brauchst doch sowieso ein definiertes Eingabefeld für deine Barcodedaten!