Thiết kế UserForm bài số 04: Thay đổi màu nút bấm khi Chuột di chuyển trên nút bấm

tuhocvba

Administrator
Thành viên BQT
Bài học thiết kế số 01
Bài học thiết kế số 02
Bài học thiết kế số 03 .
_________________
Ở bài học này, mình sẽ hướng dẫn các bạn cách làm nút bấm thay đổi màu khi lia chuột qua nút bấm.
Bạn cần đăng nhập để thấy hình ảnh


Đầu tiên các bạn tạo UserForm trên đó có hai nút bấm.
Bạn cần đăng nhập để thấy đính kèm

Dưới đây là đoạn code để thay đổi màu nút bấm:
Mã:
Private Sub CommandButton2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton2.BackColor = RGB(0, 255, 0) 'Màu xanh
End Sub
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton1.BackColor = RGB(0, 255, 0) 'Màu xanh
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    CommandButton2.BackColor = &H8000000F 'Trả lại màu ban đầu
    CommandButton1.BackColor = &H8000000F 'Trả lại màu ban đầu
End Sub
Giải thích các tham số của sự kiện MouseMove: Tôi đã từng hỏi về điều này trên một diễn đàn của Việt Nam, câu trả lời chưa khiến tôi hài lòng, tuy nhiên tôi nghĩ kiến thức họ (hoặc cách diễn đạt) chỉ được như vậy, sẽ là thất lễ nếu gặng hỏi thêm, ngoài ra các kết quả tìm kiếm của google tại thời điểm đó cũng không cho ra được trang nào của Việt Nam giải thích về sự kiện này một cách cặn kẽ, đây là vấn đề cá nhân muốn biết, cho nên tôi đã tìm kiếm trên internet để giải đáp các thắc mắc của bản thân. Tôi mong các bạn cũng có tinh thần Tự Học như thế.
Đầu tiên là tham số Button.
Giá trị trả vềNút bấm được ấn
1​
Chuột trái được ấn (vừa giữ chuột trái vừa di chuyển chuột)
2​
Chuột phải được ấn (vừa giữ chuột phải vừa di chuyển chuột)
4​
Chuột giữa được ấn (vừa giữ chuột giữa vừa di chuyển chuột)
Tiếp theo là tham số Shift.
Trong khi di chuyển chuột, mà bạn lại giữ các phím sau thì Shift sẽ có giá trị trả về tương ứng như sau:
Giá trị trả vềNút bấm được ấn
1​
「Shiht」
2​
「Ctrl」
4​
「Alt」

X,Y là tọa độ của chuột trên UserForm, được hiểu như dưới đây:
Bạn cần đăng nhập để thấy đính kèm

Vi deo bài học này, xem ở đây:
Bạn cần đăng nhập để thấy đa phương tiện
Nguồn tham khảo:
File demo, có thể download ở đây:
 

BKKBG

Thành viên
Có thể nói việc thay đổi màu nút bấm như trên, đã làm cho cảm giác của người dùng khá thân thiện.
Bạn cần đăng nhập để thấy hình ảnh

Tuy nhiên khi con trỏ của chuột đi vào nút bấm, thì hình ảnh cần thay đổi giống như hình ảnh bên phải dưới đây.
Bạn cần đăng nhập để thấy hình ảnh

Thiết kế tỉ mỉ tới mức này thì cảm giác người dùng còn thân thiện hơn nữa.

Nguyên liệu làm: file hình ảnh cho chuột, các bạn download . Hoặc các bạn cũng có thể tự tìm kiếm dựa vào từ khóa là .
Thao tác:
Đối với các thuộc tính của CommandButton, bạn vào thuộc tính MousePointer chọn 99 như hình dưới.
Sau đó, với MouseIcon, bạn click chọn bức ảnh (file .ico)
Bạn cần đăng nhập để thấy hình ảnh

Chú ý: Hiện tại qua một số câu chuyện có trên diễn đàn, thì đối với Windows7, có vẻ như không sử dụng được file .ico vào trong UserForm. Hiện chưa rõ nguyên nhân. Mà đối với định dạng ảnh khác như gif, jpg thì tôi chưa thấy hoạt động.
Bài viết này, tôi đã kiểm chứng trên Windows10 Office2016 64bits và hoạt động tốt.
Nguồn tham khảo:
 
Top