09/01/12
Design: NguyÔn HiÒn Du
1
Mét sè sù kiÖn cao cÊp vÒ chuét
Mét sè sù kiÖn cao cÊp vÒ chuét
Néi dung chÝnh:
Néi dung chÝnh:
C¸c thñ tôc sù kiÖn c¬ b¶n (
C¸c thñ tôc sù kiÖn c¬ b¶n (
MouseDown
MouseDown
,
,
MouseUp
MouseUp
,
,
MouseMove, MouseMove ..)
MouseMove, MouseMove ..)
C¸c H»ng sè cña c¸c nót chuét, Bµn phÝm
C¸c H»ng sè cña c¸c nót chuét, Bµn phÝm
KÕt hîp gi a bµn phÝm vµ chuét
KÕt hîp gi a bµn phÝm vµ chuét
Mét sè vÝ dô vÒ ®iÒu khiÓn chuét
Mét sè vÝ dô vÒ ®iÒu khiÓn chuét
09/01/12
Design: Nguyễn Hiền Du
2
I. Các thủ tục sự kiện
I. Các thủ tục sự kiện
A. Cỏc th tc s kin c bn
Tên thủ tục ý nghĩa
MouseDown Người dùng nhắp một trong các nút chuột
MouseUp Ngi dựng nh mt nỳt chut
MouseMove
Người dùng dời trỏ chuột đến điều khiển
hoặc đến một vùng trắng của biểu mẫu
- iều khiển chỉ nhận ra sự kiện chuột khi trỏ
chuột nằm trong điều khiển, còn lại biểu mẫu
cơ sở nhận ra sự kiện chuột
Cú 3 th tc s kin c bn v chut nh sau:
09/01/12
Design: NguyÔn HiÒn Du
3
C¸c thñ tôc sù kiÖn chuét cã cïng d¹ng vµ cïng
tham sè nh sau:
ObjName_MouseEvent (Button As Integer,
ObjName_MouseEvent (Button As Integer,
Shift As Integer, X As Single, Y As Single)
Shift As Integer, X As Single, Y As Single)
Trong đó:
ObjName:
ObjName: tên đối tượng cần thao tác
MouseEvent:
MouseEvent: tên thủ tục sự kiện
Button:
Button:
Nút chuột nào được nhấn
Shift:
Shift: Phát hiện xem có dùng tổ hợp phím hay
không
X,Y:
X,Y: Toạ độ của trỏ chuột
09/01/12
Design: NguyÔn HiÒn Du
4
Private Sub Form_MouseDown(button As
Integer, Shift As Integer, X As Single, Y As
Single)
CurrentX = X
CurrentY = Y
Print “Help Me”
End Sub
B.
B.
Để hiểu rõ hơn ta xét các ví dụ dưới đây:
Để hiểu rõ hơn ta xét các ví dụ dưới đây:
Trong ví dụ trên mỗi lần ta nhấn chuột màn hình
sẽ in ra câu “Help Me” tại toạ độ dòng X, cột Y.
09/01/12
Design: NguyÔn HiÒn Du
5
Private Sub Form_MouseUp(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Randomize
X = Int(2000 * Rnd)
Y = Int(2000 * Rnd)
CurrentX = X
CurrentY = Y
Print “Help me"
End Sub
Ví dụ dưới đây in ra màn hình dòng “Help me”
tại toạ độ X, Y thuộc khoản [0,2000] mỗi khi ta
thả nút chuột ra.
09/01/12
Design: NguyÔn HiÒn Du
6
Private Sub Form_MouseMove(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Dim A, B
A = CurrentX
B = CurrentY
CurrentX = X
CurrentY = Y
Line (A, B)-(X, Y)
End Sub
Ví dụ trên vẽ ra màn hình mỗi khi ta di chuyển
chuột
09/01/12
Design: NguyÔn HiÒn Du
7
Lưu ý: nếu đối tượng là thành phần của một
mảng điều khiển thì Index là tham số tuỳ chọn
đầu tiên như sau:
ObjControlArray_MouseEvent(Index As
Integer, Button As Integer, Shift As Integer, X
As Single, Y As Single)