LabVIEWForum.de - Listbox-Problem

LabVIEWForum.de

Normale Version: Listbox-Problem
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe ein Problem mit der programmgesteuerten Änderung der Highlight-Position innerhalb eines Listbox-Feldes.
Konkret: Ich kann zwar den Wert des Feldes ändern und damit die blau unterlegte Zeile, der Referenzpunkt für Tastatureingaben bleibt aber auf der ursprünglichen Zeile.
Siehe angehängtes Bild: Angeklickt/Ausgewählt war "line5". Vom Programm wurde auf "line3" geswitcht, man sieht aber, dass der Tastaturfokus noch immer auf "line5" liegt.
Drücke ich jetzt auf der Tastatur "Pfeil nach unten", wird dementsprechend "line6" und nicht "line4" markiert.
Mit anderen Worten: Wie schaffe ich es den Tastaturfokus auf die Highlight-Zeile zu bekommen?
Als Möglichkeit fällt mir nur sowas wie ein simulierter Mausklick auf die entsprechende Zeile ein, aber das ist irgendwie "von hinten durch die Brust ins Auge".

Nachtrag: mit der Property-Node "Edit Row" komme ich wohl dahin, aber dann schaltet die Zeile in Edit-Mode.
So, ich habe jetzt eine (etwas umständliche) Lösung gefunden. Siehe angehängtes VI.
Zur demo wird alle 5 Sekunden zufällig eine neue Zeile ausgewählt, und dann entsprechende Up/Down-Keystrokes per DLL-Aufruf gesendet um dahin zu kommen.
Das setzt somit den Keyfokus in die richtige Zeile und das händische Betätigen der Up/Down-Tasten funktioniert jetzt wie erwartet.
Hat wer eventuell eine bessere Idee?
Hallo Es gibt eine Möglichkeit über die private Eigenschaft "FocusRow".
Ich hab dir das VI mal entsprechend geändert.

Um diese Eigenschaft in deiner IDE auswählen zu können musst du allerdings erst den SuperSecretPrivateSpecialStuff-Mode in der LabView-ini aktivieren.


Gruß, Marko
"FocusRow" - genau das ist es was ich gesucht habe. Aber ... WTF, "SuperSecretPrivateSpecialStuff"?!? Im Ernst?
Da muss ich wohl von ausgehen dass die hierdurch zusätzlich verwendbaren (und undokumentierten) PropertyNodes bei verschiedenen
Labview Versionen eventuell unterschiedlich bzw. gar nicht funktionieren.
Das ist mir dann doch zu heikel, so etwas in einem Meßprogramm zu verwenden, das auf unterschiedlichsten Meßrechnern läuft, über deren
Labview-Versionen ich keine Kontrolle habe.
Hallo THL,

Zitat:Das ist mir dann doch zu heikel, so etwas in einem Meßprogramm zu verwenden, das auf unterschiedlichsten Meßrechnern läuft, über deren Labview-Versionen ich keine Kontrolle habe.
Wieso hast du keine Kontrolle?
In dem Moment, wo du dein VI kompilierst und einen Installer erstellst, legst DU doch die LabVIEW-Version fest!

(Und was anderes sollte auf Rechnern, die du nicht kontrollieren kannst, nicht zu Anwendung kommen!)
Referenz-URLs