DANH SÁCH BÀI VIẾT Cài đặt thư viện Graphics trên IDE Dev C++ Hàm đồ hoạ cơ bản trong thư viện Graphics.h Click chuột trong màn hình đồ họa Một số chương trình xây dựng trên Graphics
Trong bài viết này mình sẽ giới thiệu các bạn một số hàm bắt sự kiện click chuột trong màn hình đồ họa lập trình C.
Các hàm bắt sự kiện click chuột
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
Ví dụ minh họa click chuột
#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();
}