[C/C++] Click chuột trong Dev-C++ – Mouse event in Dev-C++
[C/C++] Click chuột trong Dev-C++ – Mouse event in Dev-C++ Tháng Mười 3, 2013 nguyenvanquan7826 LT C - C++ 8 responses Trong bài viết này mình sẽ hướng dẫn về một số hàm bắt sự kiện click chuột trong chế độ đồ họa Dev-C++. void ...
[C/C++] Click chuột trong Dev-C++ – Mouse event in Dev-C++
Trong bài viết này mình sẽ hướng dẫn về một số hàm bắt sự kiện click chuột trong chế độ đồ họa Dev-C++.
void getmouseclick( int kind, int& x, int& y );
-> lấy tọa độ x,y ( theo pixel) mà ở đó có click
bool ismouseclick( int kind );
-> trả về true nếu xảy ra click
int mousex( ); -> lấy tọa độ chuột theo trục x
int mousey( ); -> lấy tọa độ chuột theo trục y
WM_MOUSEMOVE : bắt sự kiện khi di chuyển chuột trong màn hình đồ họa
WM_LBUTTONDBLCLK : bắt sự kiện khi nhấn đúp chuột trái
WM_LBUTTONDOWN : bắt sự kiện khi nhấn chuột trái
WM_LBUTTONUP : bắt sự kiện khi thả sau khi nhấn chuột trái
Tuơng tự với chuột giữa và chuột phải
WM_MBUTTONDBLCLK
WM_MBUTTONDOWN
WM_MBUTTONUP
WM_RBUTTONDBLCLK
WM_RBUTTONDOWN
WM_RBUTTONUP
Còn rất nhiều hàm khác bạn xem tại đây: http://www.cs.colorado.edu/~main/bgi/doc/
Một đoạn code minh họa bắt sự kiện chuột trái, phải.
#include <winbgim.h> #include <stdio.h> #include <string.h> int main(){ setbkcolor(1); int x, y; initwindow(800,500); setbkcolor(15); cleardevice(); while (1){ delay(0.0001); if (ismouseclick(WM_LBUTTONDOWN)){ getmouseclick(WM_LBUTTONDOWN, x, y); printf("left click : (%d,%d)n", x, y); } if (ismouseclick(WM_LBUTTONUP)){ getmouseclick(WM_LBUTTONUP, x, y); printf("left up click : (%d,%d)n", x, y); } if (ismouseclick(WM_LBUTTONDBLCLK)){ getmouseclick(WM_LBUTTONDBLCLK, x, y); printf("left double click : (%d,%d)n", x, y); } if (ismouseclick(WM_RBUTTONDOWN)){ getmouseclick(WM_RBUTTONDOWN, x, y); printf("right click : (%d,%d)n", x, y); } if (ismouseclick(WM_RBUTTONUP)){ getmouseclick(WM_RBUTTONUP, x, y); printf("right up click : (%d,%d)n", x, y); } if (ismouseclick(WM_RBUTTONDBLCLK)){ getmouseclick(WM_RBUTTONDBLCLK, x, y); printf("right double click : (%d,%d)n", x, y); } if (ismouseclick(WM_MOUSEMOVE)){ getmouseclick(WM_MOUSEMOVE, x, y); printf("move : (%d,%d)n", x, y); } } system("pause"); closegraph(); }
Kết quả khi click và di chuyển chuột trong màn hình đồ họa:
Một đoạn video mình quay cái vẽ đường thằng bằng chuột nhưng chưa chuẩn vì còn lỗi:
Tham khảo: Đồ họa trong Dev-C