[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