Sự kiện chuột trong 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: //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 #include #include 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

Video liên quan

Chủ Đề