Pfeiltastendruck überprüfen ...
-
Wer weiss was man schrieben muss ( C++ ) damit man an einer Bestimmten stelle im Programm gestoppt wird und der benutzer etwas Per Pfeiltsaten ( oben und unten ) auswählen muss ?
Ich hätte mir vorgestellt das wenn dieses Programm stoppt das dann da etwas angezeigt wird ( es sind 2 Menüpunkte ) und wenn dann der Benutzer die Pfeiltasten drückt das dann die Betreffnden Menüpunkte angewählt werden ( Hover oder so ) Wie geht das ?
-
Du musst einfach dein Menü aufbauen und z.B. einen Rahmen mit ASCII-Zeichen "zeichnen", der immer den ausgewählten Menüpunkt umgibt. Frag die Tastatur ab und setze den Rahmen, je nachdem welche Taste gedrückt wurde. Beim Drücken von Return hast du durch die Position des Rahmens den gewählten Menüpunkt. Was hast du denn bislang schon?
-
also ich habe schonmal das menü ... jetz brauch ich eine Funktion die prüft ob eine Pfeilstaste ( nach oben ... nach unten ) gedrückt wird ... wurde ... !!!
Um den rest kümmer ich mich ...P.S. Frohe EM :schland:
-
Siehe: klick
Les dir mal meinen Beitrag durch.
-
Hallo,
versuch mal dieses hier, habe ich in meiner Schatzkiste gefunden.
#include <stdio.h> #include <conio.h> #include "tasten.h" unsigned short get_key(void) { unsigned short ascii, scancode; if( (ascii = getch()) == 224) scancode = getch(); else return ascii; return scancode + 0x100; } int _tmain(int argc, _TCHAR* argv[]) { unsigned short taste; do { taste = get_key(); switch( taste ) { case PGUP: printf("PGUP gedrückt\n"); break; case PGDN: printf("PGDN gedrückt.\n"); break; case HOME: printf("HOME gedrückt\n"); break; case ENDE: printf("ENDE gedrückt.\n"); break; case LEFT: printf("LEFT gedrückt.\n"); break; case UP: printf("Pfeil nach oben gedrückt.\n"); break; case DOWN: printf("Pfeil nach unten gedrück.\n"); break; case RGHT: printf("RGHT gedrückt.\n"); break; } }while( taste != ESC); return 0; }
HeaderDatei tasten.h
#ifndef TASTEN_H #define TASTEN_H /* ------------------- Steuertasten -------------------- */ #define PGUP 0x149 /* Page up */ #define cPGUP 0x184 #define aPGUP 0x199 #define PGDN 0x151 /* Page down */ #define cPGDN 0x176 #define aPGDN 0x1a1 #define HOME 0x147 /* Home */ #define cHOME 0x177 #define aHOME 0x197 #define ENDE 0x14f /* End */ #define cENDE 0x175 #define aENDE 0x19f #define LEFT 0x14b /* Left */ #define cLEFT 0x173 #define aLEFT 0x19b #define UP 0x148 /* Up mit den Cursor Tasten */ #define cUP 0x18d #define aUP 0x198 #define DOWN 0x150 /* DOWN mit den Cursor Tasten*/ #define cDOWN 0x191 #define aDOWN 0x1a0 #define RGHT 0x14d /* Right */ #define cRGHT 0x174 #define aRGHT 0x19d #define TAB 0x009 /* TAB */ #define sTAB 0x10f #define cTAB 0x194 #define aTAB 0x1a5 #define BS 0x008 /* Backspace */ #define cBS 0x07f #define aBS 0x10e #define INS 0x152 /* Insert */ #define cINS 0x192 #define aINS 0x1a2 #define DEL 0x153 #define cDEL 0x193 #define aDEL 0x1a3 /* --------------- Funktionstasten ---------------- */ #define F1 0x13b /* F1 */ #define sF1 0x154 #define cF1 (sF1+10) #define aF1 (sF1+20) #define F2 (F1+1) /* F2 */ #define sF2 (sF1+1) #define cF2 (cF1+1) #define aF2 (aF1+1) #define F3 (F1+2) /* F3 */ #define sF3 (sF1+2) #define cF3 (cF1+2) #define aF3 (aF1+2) #define F4 (F1+3) /* F4 */ #define sF4 (sF1+3) #define cF4 (cF1+3) #define aF4 (aF1+3) #define F5 (F1+4) /* F5 */ #define sF5 (sF1+4) #define cF5 (cF1+4) #define aF5 (aF1+4) #define F6 (F1+5) /* F6 */ #define sF6 (sF1+5) #define cF6 (cF1+5) #define aF6 (aF1+5) #define F7 (F1+6) /* F7 */ #define sF7 (sF1+6) #define cF7 (cF1+6) #define aF7 (aF1+6) #define F8 (F1+7) /* F8 */ #define sF8 (sF1+7) #define cF8 (cF1+7) #define aF8 (aF1+7) #define F9 (F1+8) /* F9 */ #define sF9 (sF1+8) #define cF9 (cF1+8) #define aF9 (aF1+8) #define F10 (F1+9) /* F10 */ #define sF10 (sF1+9) #define cF10 (cF1+9) #define aF10 (aF1+9) #define F11 0x185 /* F11 */ #define sF11 (F11+2) #define cF11 (F11+4) #define aF11 (F11+6) #define F12 (F11+1) /* F12 */ #define sF12 (sF11+1) #define cF12 (cF11+1) #define aF12 (aF11+1) /* ------------------- alt - Codes ------------------ */ #define alt_Q 0x110 #define alt_W (alt_Q+1) #define alt_E (alt_Q+2) #define alt_R (alt_Q+3) #define alt_T (alt_Q+4) #define alt_Y (alt_Q+5) #define alt_U (alt_Q+6) #define alt_I (alt_Q+7) #define alt_O (alt_Q+8) #define alt_P (alt_Q+9) #define alt_A 0x11e #define alt_S (alt_A+1) #define alt_D (alt_A+2) #define alt_F (alt_A+3) #define alt_G (alt_A+4) #define alt_H (alt_A+5) #define alt_J (alt_A+6) #define alt_K (alt_A+7) #define alt_L (alt_A+8) #define alt_Z 0x12c #define alt_X (alt_Z+1) #define alt_C (alt_Z+2) #define alt_V (alt_Z+3) #define alt_B (alt_Z+4) #define alt_N (alt_Z+5) #define alt_M (alt_Z+6) #define alt_1 0x178 #define alt_2 (alt_1+1) #define alt_3 (alt_1+2) #define alt_4 (alt_1+3) #define alt_5 (alt_1+4) #define alt_6 (alt_1+5) #define alt_7 (alt_1+6) #define alt_8 (alt_1+7) #define alt_9 (alt_1+8) #define alt_0 (alt_1+9) /* --------------- Sonstige Tasten ----------------*/ #define ESC 0x01b /* Escape */ #define aESC 0x101 #define LEER 0x020 #define RETRN 0x00D /* Return */ #define cRETRN 0x00A #define aRETRN 0x11c #define a_nRETRN 0x1a6 /* Return at numpad */ #define c_grPLUS 0x190 /* grey + */ #define a_grPLUS 0x14e #define c_grMINUS 0x18e /* grey - */ #define a_grMINUS 0x14a #define c_grMULT 0x196 /* grey * */ #define a_grMULT 0x137 #define c_grDIV 0x195 /* grey / */ #define a_grDIV 0x1a4 #define Num5 0x14c /* 5 at num pad */ #define cNum5 0x18f #define UE 0x081 /* š */ #define sUE 0x09a #define aUE 0x11a #define OE 0x094 /* ™ */ #define sOE 0x099 #define aOE 0x127 #define AE 0x084 /* Ž */ #define sAE 0x08e #define aAE 0x128 #define ES_Z 0x0E1 /* á */ #define aES_Z 0x182 #define aHYPHEN 0x183 /* ' */ #define FRAGE 0x3f /* ? */ /* ------------- Umschalt-Tasten ----------------*/ #define EINFUEGEN 0x80 #define CAPS_LOCK 0x40 #define NUM_LOCK 0x20 #define SCROLL_LOCK 0x10 #define ALT 0x08 #define CTRL 0x04 #define SHIFT_LINKS 0x02 #define SHIFT_RECHTS 0x01 #define NoKey 1000 /* unmoeglicher Code */ #endif /*TASTEN_H*/
Ich hoffe das ich helfen konnte.
-
also der Dev-C++ Compiler gibt folgenden Fehler aus "[Linker error] undefined reference to `WinMain@16' " nächster " ld returned 1 exit status " nächster " C:\Dokumente und Einstellungen\admin\Eigene Dateien\C++Projekts\4\Makefile.win [Build Error] [Project1.exe] Error 1 " ... so diese drei Fehler werden mit dem Dev-C++ Compiler ausgegeben ... ich installier grad "Visual Studio"
... vielleicht gehts da ...
-
ok ... bei VC++ ( Visual Studio 2008 ) kommen diese Fehler:
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup". MSVCRTD.lib
Fehler 4 fatal error LNK1120: 1 nicht aufgelöste externe Verweise. C:\Dokumente und Einstellungen\admin\Eigene Dateien\Visual Studio 2008\Projects\Tasten\Debug\Tasten.exe 1
UND DIESE WARNUNGEN :
Warnung 1 warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details. c:\dokumente und einstellungen\admin\eigene dateien\visual studio 2008\projects\tasten\tasten\main.cpp 12
Warnung 2 warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details. c:\dokumente und einstellungen\admin\eigene dateien\visual studio 2008\projects\tasten\tasten\main.cpp 13
WAS läuft falsch ??
-
Binde mal windows.h ein.
-
geht alles net ... hab fast 9 Dateien eingebunden ... ich will doch nur eine PRIMITIVE Funktion die Das macht : ( auf deutsch )
... vorher
frage benutzer nach taste ;
wenn ( taste = PfeilRauf )
{
funktion 1() ;
}wenn aber ( taste = PfeilRunter )
{
funktion 2();
}... ende
-
BINGO ... habe bei dem main.cpp etwas verändert ...
int main() { unsigned short taste; ...
JETZ KLAPPT ALLES HERVORRAGEND ... DANKE /JOCHEN/