clearmouseclick
- Syntax
-
#include "graphics.h" void clearmouseclick(int kind);
- Description
-
The
clearmouseclick
function is available in the
winbgim implementation of BGI
graphics.
This is just like
getmouseclick
, except it does not provide the x and y coordinates of the event. The value of the argument kind may be any of the constants listed above. After callinggetmouseclick
, for a particular kind of event, theismouseclick
will return false for that kind of event until another such event occurs.The
kind
argument toclearmouseclick
is one of these constants from thegraphics.h
file:WM_MOUSEMOVE
- if you want to detect a mouse movement
WM_LBUTTONDBLCLK
- ...detect when the left mouse button is double clicked
WM_LBUTTONDOWN
- ...detect when the left mouse button is clicked down
WM_LBUTTONUP
- ...detect when the left mouse button is released up
WM_MBUTTONDBLCLK
- ...detect when the middle mouse button is double clicked
WM_MBUTTONDOWN
- ...detect when the middle mouse button is clicked down
WM_MBUTTONUP
- ...detect when the middle mouse button is released up
WM_RBUTTONDBLCLK
- ...detect when the right mouse button is double clicked
WM_RBUTTONDOWN
- ...detect when the right mouse button is clicked down
WM_RBUTTONUP
- ...detect when the right mouse button is released up
The middle mouse button handlers aren't working on my machine. I haven't yet tracked down the reason--it could be a broken mouse or it could be a bug in my programming.
- See also
- ismouseclick
- getmouseclick
- Example
-
/* mouse example */ #include "graphics.h" void main(void) { const int LIMIT = 10; // Number of clicks to stop program. int maxx, maxy; // Maximum x and y pixel coordinates int count = 0; // Number of mouse clicks int divisor; // Divisor for the length of a triangle side // Put the machine into graphics mode and get the maximum coordinates: initwindow(450, 300); maxx = getmaxx( ); maxy = getmaxy( ); // Draw a white circle with red inside and a radius of 50 pixels: setfillstyle(SOLID_FILL, RED); setcolor(WHITE); fillellipse(maxx/2, maxy/2, 50, 50); // Print a message and wait for a red pixel to be double clicked: settextstyle(DEFAULT_FONT, HORIZ_DIR, 2); outtextxy(20, 20, "Left click " << LIMIT << " times to end."); setcolor(BLUE); divisor = 2; while (count < LIMIT) { triangle(maxx/divisor, maxy/divisor); delay(500); divisor++; if (ismouseclick(WM_LBUTTONDOWN)) { clearmouseclick(WM_LBUTTONDOWN)); count++; } } // Switch back to text mode: closegraph( ); }
Back to index