En este artículo, discutiremos algunos casos de uso de la programación del mouse :
Mostrar el puntero del mouse en modo gráfico :
Para mostrar el puntero del mouse, primero habilite el modo gráfico usando la función initgraph() , si se inicializó con éxito, llamará a la función initMouse() para verificar si el mouse está disponible o no. Si la función initMouse() devuelve un valor distinto de 0, significa que regresará ffffh luego llama a la función showMouse() y muestra el cursor en la ventana de la consola en modo gráfico. A continuación se muestran las funciones utilizadas:
- initMouse(): se usa para inicializar el mouse.
- showMouse(): muestra el puntero del mouse en la pantalla de salida.
A continuación se muestra el programa para el mismo:
C
// C program to display Mouse // pointer in Graphics Mode #include <conio.h> #include <dos.h> #include <graphics.h> #include <stdio.h> union REGS in, out; // Function to display the mouse // pointer void showMouse() { // Set service AX = 1 for // displaying mouse in.x.ax = 1; int86(0X33, &in, &out); } // Function to initialize the mouse // pointer int initMouse() { // Set service AX = 0 for // detecting mouse in.x.ax = 0; int86(0x33, &in, &out); return out.x.ax; } // Driver Code void main() { int status, gd = DETECT, gm; clrscr(); initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); // Get the status of mouse pointer status = initMouse(); // Check mouse is available or not if (status == 0) printf("Mouse support not" " available.\n"); else { printf("Display mouse"); showMouse(); } getch(); // Close the graphics closegraph(); }
C++
// C++ program to display Mouse // pointer in Graphics Mode #include <bits/stdc++.h> #include <conio.h> #include <dos.h> #include <graphics.h> #include <stdio.h> using namespace std; union REGS in, out; // Function to display the mouse // pointer void showMouse() { // Set service AX = 1 for // displaying mouse in.x.ax = 1; int86(0X33, &in, &out); } // Function to initialize the mouse // pointer int initMouse() { // Set service AX = 0 for // detecting mouse in.x.ax = 0; int86(0x33, &in, &out); return out.x.ax; } // Driver Code void main() { int status, gd = DETECT, gm; clrscr(); initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); // Get the status of mouse pointer status = initMouse(); // Check if mouse is available or not if (status == 0) cout << "Mouse support not" << " available.\n"; else { cout << "Display mouse"; showMouse(); } getch(); // Close the graphics closegraph(); }
Producción:
Ocultar puntero del mouse :
Para ocultar el puntero del mouse, primero verifique el estado del mouse si está disponible, luego simplemente el control ingresará en for loop make delay de 500 milisegundos, luego aparecerá el mouse, luego desaparecerá después de 500 milisegundos y se mostrará nuevamente después de 500 milisegundos. Esta secuencia continuará hasta que termine el bucle. La función de retraso se ha utilizado para mostrarle el impacto de la función hidemouse() .
- initmouse(): se usa para inicializar el mouse.
- showmouse(): muestra el puntero del mouse en la pantalla de salida.
- hidemouse(): oculta el puntero del mouse
A continuación se muestra el programa para el mismo:
C
// C program for hiding Mouse Pointer #include <conio.h> #include <dos.h> #include <graphics.h> union REGS in, out; // Function to initialize the mouse // pointer using graphics int initMouse() { in.x.ax = 0; int86(0X33, &in, &out); return out.x.ax; } // Function to display the mouse // pointer using graphics void showMouse() { in.x.ax = 1; int86(0X33, &in, &out); } // Function to hide the mouse // pointer using graphics void hideMouse() { // Set AX=2 to hide mouse in.x.ax = 2; int86(0X33, &in, &out); } // Driver Code void main() { int status, i, gd = DETECT, gm; // Initialize graphics initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); // Get the status of the mouse status = initMouse(); // Check if mouse is available or not if (status == 0) printf("Mouse support " "not available.\n"); else { for (i = 0; i <= 10; i++) { // Pause execution for .5 sec delay(500); showMouse(); delay(500); hideMouse(); } } getch(); // Close the graphics closegraph(); }
C++
// C++ program for hiding Mouse Pointer #include <bits/stdc++.h> #include <conio.h> #include <dos.h> #include <graphics.h> using namespace std; union REGS in, out; // Function to initialize the mouse // pointer using graphics int initMouse() { in.x.ax = 0; int86(0X33, &in, &out); return out.x.ax; } // Function to display the mouse // pointer using graphics void showMouse() { in.x.ax = 1; int86(0X33, &in, &out); } // Function to hide the mouse // pointer using graphics void hideMouse() { // Set AX=2 to hide mouse in.x.ax = 2; int86(0X33, &in, &out); } // Driver Code void main() { int status, i, gd = DETECT, gm; // Initialize graphics initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); // Get the status of the mouse status = initMouse(); // Check if mouse is available or not if (status == 0) cout << "Mouse support " << "not available.\n"; else { for (i = 0; i <= 10; i++) { // Pause execution for .5 sec delay(500); showMouse(); delay(500); hideMouse(); } } getch(); // Close the graphics closegraph(); }
Producción:
Determine la posición actual del mouse y el botón en el que se hizo clic :
En este programa, se imprime la ubicación actual del mouse, así como qué tecla del mouse se hace clic en qué ubicación utilizando las siguientes funciones:
- initmouse(): se usa para inicializar el mouse.
- showmouse(): muestra el cursor del mouse en la pantalla de salida.
- getmouseposition(): obtiene la coordenada del mouse y qué tecla se presiona en el registro BX , CX , DX respectivamente.
- Si BX = 1 tecla izquierda pulsada
- Si BX = 2 Se hizo clic con la tecla derecha.
- Si BX = 3 se presiona el botón central
- CX = Ratón X Coordenada
- DX = Coordenada Y del Ratón
A continuación se muestra el programa para el mismo:
C
// C program to determine the current // mouse position and button clicked #include <conio.h> #include <dos.h> #include <graphics.h> #include <stdio.h> union REGS in, out; // Function to initialize the mouse // pointer using graphics int initMouse() { in.x.ax = 0; int86(0X33, &in, &out); return out.x.ax; } // Function to display the mouse // pointer using graphics void showMouse() { in.x.ax = 1; int86(0X33, &in, &out); } // Function to get the current clicked // mouse position on the screen void getMousePosition(int* click, int* x, int* y) { in.x.ax = 3; int86(0X33, &in, &out); // Get the coordinates *click = out.x.bx; // Update the x and y coordinates *x = out.x.cx; *y = out.x.dx; } // Driver Code void main() { int status, i, gd = DETECT, gm; // Initialize graphics initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); // Get the status of the mouse status = initMouse(); // Check if mouse is available or not if (status == 0) printf("Mouse support " "not available.\n"); else { showMouse(); // Get the current mouse position getMousePosition(&click, &x, &y); while (!kbhit()) { getMousePosition(&click, &x, &y); gotoxy(1, 1); printf("X = %d, Y = %d", x, y); if (click == 1) printf("\nLeft click at " "position = %d, %d\t", x, y); if (click == 2) printf("\nRight click at " "position = %d, %d\t", x, y); } } getch(); // Close the graphics closegraph(); }
C++
// C program to determine the current // mouse position and button clicked #include <bits/stdc++.h> #include <conio.h> #include <dos.h> #include <graphics.h> #include <stdio.h> using namespace std; union REGS in, out; // Function to initialize the mouse // pointer using graphics int initMouse() { in.x.ax = 0; int86(0X33, &in, &out); return out.x.ax; } // Function to display the mouse // pointer using graphics void showMouse() { in.x.ax = 1; int86(0X33, &in, &out); } // Function to get the current clicked // mouse position on the screen void getMousePosition(int* click, int* x, int* y) { in.x.ax = 3; int86(0X33, &in, &out); // Get the coordinates *click = out.x.bx; // Update the x and y coordinates *x = out.x.cx; *y = out.x.dx; } // Driver Code void main() { int status, i, gd = DETECT, gm; // Initialize graphics initgraph(&gd, &gm, "C:\\TURBOC3\\BGI"); // Get the status of the mouse status = initMouse(); // Check if mouse is available or not if (status == 0) printf("Mouse support " "not available.\n"); else { showMouse(); // Get the current mouse position getMousePosition(&click, &x, &y); while (!kbhit()) { getMousePosition(&click, &x, &y); gotoxy(1, 1); printf("X = %d, Y = %d", x, y); if (click == 1) cout << "\nLeft click at " << "position = " << x << ", " << y; if (click == 2) cout << "\nRight click at " << "position = " << x << ", " << y; } } getch(); // Close the graphics closegraph(); }
Producción:
Publicación traducida automáticamente
Artículo escrito por shubhamp338 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA