Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Sử dụng chức năng xử lý các sự kiện chuột và chế độ đồ hoạ trong C

Share
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Sử dụng chức năng xử lý các sự kiện chuột và chế độ đồ hoạ trong C

Bài gửi  admin on Thu Nov 12, 2009 1:25 pm

Trong phần này tôi xin giới thiệu các bạn một số hàm khởi động chế độ đồ họa, xử lý thiết bị chuột bằng ngôn ngữ hệ thống trong C. Các bạn có thể sử dụng chúng mà không cần khai báo thư viện của C.
Code:

//Cấu trúc dữ liệu của điểm
typedef struct Point {
   int x,y;
};
//Khởi tạo chế độ đồ họa 640x480, 16 màu
void InitGraph() {
   asm {
      mov ah,0
      mov al,12h
      int 10h
   }
}
//Đóng chế độ đồ họa
void CloseGraph() {
   asm {
      mov ah,0
      mov al,3
      int 10h
   }
}
//Vẽ một điểm tại tọa độ x ,y và màu
void putpixel(int x, int y, unsigned char Color) {
   asm{
      mov ah,0ch
      mov bh,0
      mov dx,y
      mov cx,x
      mov al,Color
      int 10h
   }
}
//Lấy màu của một điểm
unsigned char getpixel(int x, int y) {
   unsigned char Color;
   asm {
      mov ah,0dh
      mov bh,0
      mov dx,y
      mov cx,x
      int 10h
      mov Color,al
   }
   return Color;
}
//Khởi động con trỏ chuột
void MouseReset() {
   asm {
      mov ah,0
      mov al,0
      int 33h
   }
}
//Thể hiện con trỏ chuột
void MouseShow() {
   asm {
      mov ah,0
      mov al,1
      int 33h
   }
}

//Ẩn con trỏ chuột
void MouseHide() {
   asm {
      mov ah,0
      mov al,2
      int 33h
   }
}
//Lấy sự kiện nhấp chuột trái
char LeftMouseOnDown() {
   char k=0;
   asm {
      mov ah,0
      mov al,3
      int 33h
      and bx,0000000000000001b
      mov k,bl
   }
   return k;
}
//Lấy sự kiện nhấp chuột phải
char RightMouseOnDown() {
   char k=0;
   asm {
      mov ah,0
      mov al,3
      int 33h
      shr bx,1
      and bx,0000000000000001b
      mov k,bl
   }
   return k;
}
//Lấy sự kiện nhấp chuột giữa
char MidMouseOnDown() {
   char k=0;
   asm {
      mov ah,0
      mov al,3
      int 33h
      shr bx,1
      shr bx,1
      and bx,0000000000000001b
      mov k,bl
   }
   return k;
}
//Lấy tọa độ con trỏ chuột
Point GetMousePostion() {
   Point p;
   int x,y;
   asm {
      mov ah,3
      int 33h
      mov x,cx
      mov y,dx
   }
   p.x = x/8;
   p.y = y/8;
   return p;
}
Chúc cán bạn khai thác, sử dụng tốt cũng như sử dụng được ngôn ngữ hệ thống trong C.

    Hôm nay: Mon Dec 18, 2017 9:32 pm