Graphik Menu
-
Wegen der Maus suche einfach mal mit der Suche hier danach. Da sollte es ein paar Threads schon geben. Evtl. brauchst du auch noch einen Treiber. Den dürfte elise noch haben.
Das merken des Menüpunkts hast du eh schon gut erfasst. Merk es dir einfach in einer Variable. Entweder durch Nummern, Buchstaben oder ganze Zeichenketten, wie es dir beliebt.
Aja damit du auch nachprüfen kannst, ob der User auf einen deiner Menüpunkte geklickt hat, solltest du dir die Positionen (links, oben, breite, höhe) merken und mit den Koordinaten, die von der Maus kommen, vergleichen ;).
-
Aber wie binde ich eine Globale Variable ein ?
-
#include <stdio.h> int aktmenu; int main(void) { //hier und in jeder anderen Funktion, die noch definiert wird, kann aktmenu verwendet werden ... return(0); }
-
THX
-
Hat vielleicht einer einen guten link über die "Graphic.h".
Also welche funktionen ect. die header hat.
Naja ansonsten wären links über grafickprogrammieren auch hilfreich
-
Die unterstützten Funktionen stehen eh in der graphic.h und sind eigentlich auch recht sprechend benannt.
Für Grafikprogrammierung allgemein empfehle ich dir das Spiele- und Grafikforum hier.
-
*aufwach da urlaub*
@SideWinder
pack doch die oder ähnliche maus auch noch ins faq plz, dann haben wir ne runde maussammlung:#include <stdio.h> #include <dos.h> #include <stdlib.h> #include <conio.h> #define MOUSE_LBUTTON 1 #define MOUSE_RBUTTON 2 #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; }
-
@elise
Super Idee!!
-
Huhu elise
Was ich nnoch anmerken würde : Der Mouse-Interrupt 0x33 ist so nicht funktionsfähig im DOS, es sei denn, ein Mousetreiber wird installiert. Ich sag das nur, weil auf nem Wim9x-Rechner im DOS-Modus klappt des sonst nich...
Wie das mit den NT-basierten Dingern ist, hab ich noch nicht probiert..
-
@DocJunior
Hauptsache das Programm ist auf 16Bit compiliert ;).
-
DocJunioR schrieb:
Huhu elise
Was ich nnoch anmerken würde : Der Mouse-Interrupt 0x33 ist so nicht funktionsfähig im DOS, es sei denn, ein Mousetreiber wird installiert. Ich sag das nur, weil auf nem Wim9x-Rechner im DOS-Modus klappt des sonst nich...
Wie das mit den NT-basierten Dingern ist, hab ich noch nicht probiert..jo, bei mir sind auf allen dos fähigen rechner (win 98, 3/86) mousetreiber drauf..
dann bräuchten wir noch ein dos maus programm, für "ohne treiber geladen".. *denk*
-
schöne GUI für Borland C++ (3.1) hab ich geschrieben, ist bestandteil von meinem TodoX... ich hab die GUI mal aus TodoX "extrahiert" und in eine extra zip-file gesteckt, dort ist auch ein einfaches menü dabei, schau einfach mal, ob du dort was ausschlachten kannst...
http://www.geocities.com/tobiasdoerffel/downloads/objgui.zip
-
@elise: Öhm ich glaub dein Code steht schon in der FAQ: http://www.c-plusplus.net/forum/viewtopic.php?t=39315 - ist doch der Gleiche oder?
Man merkt offenbar wieder, dass wenn ich etwas nicht selbst schreibe es zu wenig auffällt ;).
Eventuell setz ich mich am Weekend hin und schreib einen umfassenden Text über Maus mit 16bit und 32bit.
MfG SideWinder