Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Tastatur auslesen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Tastatur auslesen (5329 mal gelesen)
Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

erstellt am: 05. Dez. 2011 17:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


userfrm.jpg

 
Hallo und schönen Abend Ihr Spezialisten.

Ich habe eine Userform mit mehreren CommandButton (CB), Label etc.
Unter anderem habe ich CBs für RECHTS, LINKS, RAUF und RUNTER. Mit der Maus funktioniert angeklickt das auch sehr gut.
Nun möchte ich die CB für RECHTS, LINKS, RAUF und RUNTER aber auch über die Pfeiltasten direkt ansprechen. Ich weiß leider nicht, wo und wie ich die Tastatur auslesen kann. Die keypress- oder keyup-Eigenschaft der Userform bringen kein Ereignis.
Bei Benutzen der Pfeiltasten schaltet in der Userform einfach der Rahmen immer ein CB weiter.

------------------
----------------

"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 05. Dez. 2011 18:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Hallo & erstmal dito!;-)

Keypress geht wohl nur mit 'normalen' Tasten, nicht mit Funktionstasten.

Code:
Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  MsgBox "Keycode: " & KeyCode & " Shift: " & Shift
End Sub

(vbkeydown/-up/-left/-right müsste auch klappen statt des Ints)

Grüße Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

erstellt am: 05. Dez. 2011 19:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ok, das habe ich nicht gut genug ausgedrückt, denn das mit dem Code für die Pfeiltasten kannte ich.
Die Userform besteht aus vielen verschiedenen Buttons, Labes, Frames, die an und ausgeschaltet werden und eben auch den Pfeil-Buttons aus dem Bild.

Ich möchte, egal was gerade auf der Userform aktiv ist, die Tastatur abfragen. Mit anderen Worten: Zu jeder Zeit (während kein Code abläuft) soll durch die Pfeiltasten die zugehörige Aktion ausgeführt werden.

In Deinem Code muss ein bestimmter CommandButton1 aktiv sein, dass darauf die Tastatur abgefragt wird.

Bei mir läuft aber mit

Code:
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
...
End Sub

nur der Rahmen der Reihe nach durch die ganzen Buttons, aber ich bekomme kein Ereignis zurückgemeldet.
Ich weiß nicht, wie ich an das Ereignis der Tastatureingabe überhaupt kommen kann.

Ich hoffe, es ist jetzt klarer.

------------------
----------------

"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 05. Dez. 2011 21:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Hab jetzt einiges probiert, bekomms aber auch nicht hin;-(
Im VB ginge das wohl mit Form1.KeyPreview auf true, aber eine Userform hat leider nicht diese Eigenschaft.

Einzige Ausnahme wo es geht, ist in einer völlig jungfräulichen Userform (also ohne jedwede Controls), hier wird tatsächlich auf Tastaturereignisse reagiert.

Wird dir aber so glaub nicht weiter helfen, vielleicht kommen ja noch paar Ideen.

lg Nancy
--
'Hi, my name is Annie Key - Please don't hit me'    

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

erstellt am: 06. Dez. 2011 09:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Uuups.
Nicht ganz das Ergebnis, dass ich erwartet hatte.

[OT]
Als alter VB6-Anwender bin ich dann doch überrascht, wie stark die VBA-Einschränkungen scheinbar sind.

Trotzdem Danke!

------------------
----------------

"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 06. Dez. 2011 17:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Wyndorps:

Trotzdem Danke!

De nada! ;-)

BTWBy the way (So nebenbei bemerkt) und auch OT, herzlichen Glückwunsch zum dritten Kilo :top

lg Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



Sehen Sie sich das Profil von Torsten Niemeier an!   Senden Sie eine Private Message an Torsten Niemeier  Schreiben Sie einen Gästebucheintrag für Torsten Niemeier

Beiträge: 3543
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 12. Dez. 2011 01:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Wyndorps 10 Unities + Antwort hilfreich

Wyndorps
Ehrenmitglied V.I.P. h.c.
Ingenieur



Sehen Sie sich das Profil von Wyndorps an!   Senden Sie eine Private Message an Wyndorps  Schreiben Sie einen Gästebucheintrag für Wyndorps

Beiträge: 4563
Registriert: 21.07.2005

erstellt am: 12. Dez. 2011 18:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Herzlichen Dank für den Hinweis.
Ich weiß zwar nicht einmal, was eine API ist, aber eventuell probiere ich das aus dem verlinkten Beitrag einmal aus. Ich habe nur die Sorge, dass dann bei Office2011 schon wieder Schluß ist mit er Programmnutzung.

Ich habe jetzt als Notlösung die Pfeile als CommandButtons für die Maus realisiert, allerdings kann man mit der Tastatur sehr viel schneller hämmern, als mit der Maus.
Als Alternative dazu habe ich eine erweiterte Schrittweitenlösung relaisiert:
Einmal rechts klicken dx=1, beim nächsten Rechts dx=2, dann dx=5, dann dx=10... Beim Wechsel auf anderen Button geht es wieder von vorne los.

------------------
----------------

"Ich stimme mit der Mathematik nicht überein. Ich meine, daß die Summe von Nullen eine gefährliche Zahl ist."  (Stanislaw Jerzy Lec)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz