KeyPress auslesen
-
Hi
Ich habe ein Programm bei dem der Benutzer sich mittels Tasten (Hotkeys^^) zwischen verschiedenen Elementen des Programms hin und her bewegen soll. Allerdings bekomme ich immer -1 zurück. Weiss jemand was an diesem Code falsch ist?
private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { char keypress=0x00; if (_kbhit()) { keypress = getch(); switch(keypress) { case 72: //wechsle zu Fenster 1; break; case 80: //Wechsle zu Fenster 2 break; default: break; } } }
-
Moin,
wieso verwendest Du in der Methode Win32? ... KeyPressEventArgs liefert Dir alles was Du brauchst
hand, mogel
-
Hmm wahrscheindlich aus Gewohnheit.
Ist das erste mal, dass ich mich an C++.net heranwage.Dann werd ich mir das mal ansehen. Danke
-
private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { if(e->KeyCode == Keys::F1){ //Window 1 } if(e->KeyCode == Keys::F2){ //Window 2 } }
nur so als Beispiel...
-
Vermillion schrieb:
Hmm wahrscheindlich aus Gewohnheit.
Ist das erste mal, dass ich mich an C++.net heranwage.dan ein Hinweis ... die Events liefern Dir immer fast alles was Du brauchst
-
denjo303 schrieb:
private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e) { if(e->KeyCode == Keys::F1){ //Window 1 } if(e->KeyCode == Keys::F2){ //Window 2 } }
nur so als Beispiel...
Danke. Sieht soweit ganz gut aus nur gibts bei mir kein e->KeyCode ...
Das einzige was dem nahe kommen würde wäre KeyChar aber den kann man nicht mitKeys::F2 vergleichen...
EDIT: Die Hilfe hilft
if ( e->KeyChar == (char)13 )
-
hast du auch statt
private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) {
das
private: System::Void Form1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e)/*ohne 'Press'*/ {
geschrieben?
-
Nein hatte ich übersehen jetzt gehts auch mit deinem Beispiel