Maussteuerung im Textmodus
-
Hi Leute, ich habe ein Problem: Ich suche für die Konsolenprogrammierung eine Bibliothek oder zumindest Funktionen, die sich mit der Seuerung der Maus befassen. Wisst ihr, wo ich diese finden kann?
-
übrigens arbeite ich mit dem Borland 5-Compiler
-
hm,
sorry, das ich jetzt dir nciht weiterhelfe, aber wofür brauchst du eine Maus in der Konsole?
Ansonsten, die Maus gibt es über die WinAPI.
-
#include <stdio.h> #include <dos.h> #include <stdlib.h> #include <conio.h> #define MOUSE_LBUTTON 1 #define MOUSE_RBUTTON 2[cpp] #define MOUSE_MBUTTON 3 const int MOUSE_INT=0X33;; int mouse_init(); void mouse_on(); void mouse_off(); int mouse_getpos(int*px, int*py); int main(){ int tasten; int posx, posy; if ((tasten=mouse_init())==-1) { printf("keine maus da"); return EXIT_FAILURE; } printf ("Maus mit %d Tasten installiert.\n", tasten); printf ("zum beenden druecke eine maustaste\n"); mouse_on(); while(! (tasten=mouse_getpos(&posx, &posy))); printf("an der position %d/%d wurde die ", posx, posy); if(tasten & MOUSE_LBUTTON) printf (" linke %d",MOUSE_LBUTTON ); if(tasten & MOUSE_RBUTTON) printf (" rechte %d",MOUSE_RBUTTON); if((tasten & MOUSE_MBUTTON)==MOUSE_MBUTTON) printf (" mittlere %d",MOUSE_MBUTTON); //mouse mbutton hat mehrere bits printf (" Tasten gedrueckt\n"); mouse_off(); return EXIT_SUCCESS; } int mouse_init(){ union REGS regs; regs.x.ax=0; int86(MOUSE_INT, ®s, ®s); if (regs.x.ax!=0XFFFF) return -1; return regs.x.bx; } void mouse_on(){ union REGS regs; regs.x.ax=1; int86(MOUSE_INT, ®s, ®s); } void mouse_off(){ union REGS regs; regs.x.ax=2; int86(MOUSE_INT, ®s, ®s); } int mouse_getpos(int*px, int*py){ union REGS regs; regs.x.ax=3; int86(MOUSE_INT, ®s, ®s); if(px)*px=regs.x.cx>>3; if(py)*py=regs.x.dx>>3; return regs.x.bx & 7; }
-
Dankeschön....werd ich gleich mal ausprobieren (mir ist aufgefallen, dass ich das Thread eigentlich auch in das C-Forum hätte schreiben können, naja
)
-
nein, höchstens in die win32/dos konsole, das hat nix mit standard c zutun
-
Hmmm.......aber geht das denn nich auch im normalen Textmod?
-
klar, aber es gehört nicht nach standard, da standard kein interesse an maus hat.