INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Controls: Automatisch Aktiv



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

07.02.2017, 13:54 (Dieser Beitrag wurde zuletzt bearbeitet: 07.02.2017 14:06 von ALuehmann.)
Beitrag #1

ALuehmann Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Oct 2016

2014
2006
EN



Controls: Automatisch Aktiv
Liebe Community,

für ein Experiment implementiere ich gerade eine "quality dialog box", wie auf der NI Seite vorgeschlagen
http://www.ni.com/tutorial/8768/en/

meine Dialogbox ist sehr simpel: Ich möchte den User nur auffordern über die Tastatur eine Zahl 1-6 (Likert Scale) einzugeben.
Das Frontpanel der Dialogbox an sich besteht also nur aus einer System-Numeric Control.
Der user hat aber nur ein Keypad und keine Maus etc.

Ich möchte gerne erreichen, dass
a) die Numeric Control bereits aktiv ist, wenn die Dialogbox aufpopt (keine Maus zum Auswählen nötig)
b) die Eingabe (ist ja nur ein Digit) direkt die Box schließt. Derzeit wird das "Value Change" Event leider erst bei "Eingabe" (Enter) ausgeführt. ich möchte aber "Any Button Press" - also, dass das tippen einer Numerntaste (optimalerweise nur 1-6) direkt die Box schließt und keine weiteren Aktionen nötig sind um fortzufahren.

Könnt ihr mir da den einen oder anderen Tip geben?

Beste Grüße
Alex

EDIT: Ich habe b) finden können als "Key-Down" Event klappt das so wie ich möchte. Lediglich a) ist noch offen


Angehängte Datei(en)
14.0 .vi  subvi_get_user_assessinput.vi (Größe: 16,6 KB / Downloads: 204)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.02.2017, 14:36 (Dieser Beitrag wurde zuletzt bearbeitet: 07.02.2017 14:39 von Freddy.)
Beitrag #2

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Controls: Automatisch Aktiv
Hallo Alex,
für Problem a) würde ich die Eigenschaft TastenFokus = true setzen. Damit wird 'Selection' sofort den Fokus erhalten.

Für den b) Teil hast Du eigentlich schon die Voraussetzung geschaffen.
Wenn Du den 'NeuerWert' auf eine Zahl von 1 bis 6 überprüfst und dann entsprechend ture oder false für das Schleifenende setzt. Sollte den Programm funktionieren.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.02.2017, 14:46
Beitrag #3

th13 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 171
Registriert seit: Oct 2013

2020 SP1
2013
EN


Deutschland
RE: Controls: Automatisch Aktiv
a)
Es gibt das Property KeyFocus, das du auf true setzen kannst. Dann erhält das Control den Fokus, so als wenn du es mit der Tab-Taste ausgewählen würdest, es selektiert z.B. den Inhalt des Controls.

b)
Ein Numeric hat leider nicht die Eigenschaft UpdateValueWhileTyping wie z.B. ein String. Daher wird das ValueChange-Ereignis immer erst ausgeführt, wenn die Eingabe abgeschlossen ist, durch Enter oder Verlassen des Controls mit Tab.

Du kannst aber auf das KeyDown-Ereignis reagieren und entweder den Char-Ausgang auswerten (1 entspricht ASCII-Code 49) oder den ScanCode (normale 1 ist ScanCode 2, Numernblock 1 ist ScanCode 79).

   

Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.02.2017, 14:55
Beitrag #4

ALuehmann Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Oct 2016

2014
2006
EN



RE: Controls: Automatisch Aktiv
Danke euch!!
Ich habs eben auch exakt so gelöst wie Thomas, nachdem ich den key-down event genauer angeschaut habe.
Danke für die ScanCode Details!

Grüße
Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: