Trang chủLập trìnhLập trình C/C++Click chuột trong màn hình đồ họa lập trình C

Click chuột trong màn hình đồ họa lập trình C

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();
}
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x