Thủ Thuật Access
[Hỏi] Tạo hiệu ứng sáng khi di chuyển chuột - Phiên bản có thể in

+- Thủ Thuật Access (http://thuthuataccess.com/forum)
+-- Diễn đàn: Access Nâng Cao (http://thuthuataccess.com/forum/forum-11.html)
+--- Diễn đàn: Thư viện thủ thuật (http://thuthuataccess.com/forum/forum-16.html)
+--- Chủ đề: [Hỏi] Tạo hiệu ứng sáng khi di chuyển chuột (/thread-10725.html)



Tạo hiệu ứng sáng khi di chuyển chuột - mrtoanbin - 11-10-18

Xin mạn phép hỏi ý tưởng như sau: Tại Listbox khi chưa Click vào Item mà chỉ di chuyển chuột thì có tạo hiệu ứng sáng được không (giống như trong màn hình Explorer, khi chưa chọn thư mục mà chỉ rê chuột thì nó có hiệu ứng sáng). Mục đích vấn đề là để thuận tiện khi sử dụng dữ liệu lớn trong Listbox.
Xin được giải đáp và cảm ơn ạ!


RE: Tạo hiệu ứng sáng khi di chuyển chuột - lmthu - 12-10-18

Có 3 cách làm:
1. Bạn tự viết 1 control tương tự như Listbox của MS Windows, lúc này bạn có thể mặc tình thêm bớt hiệu ứng gì thì tùy bạn nhưng cách này rất khó nếu không muốn nói là bất khả thi! vì Microsoft phải mất hơn...10 năm mới hoàn thiện được Listbox thì không biết bạn phải mất bao nhiêu năm?
2. Bạn lên mạng và tìm 1 ActiveX control giống như Listbox và tải về gắn vào chương trình của mình để xài, nhưng mấy cái Activex gắn kèm này rất khó sử dụng đem qua máy khác thì nó báo lỗi tùm lum! cách này cũng không khả thi cho lắm!
3. Bạn dùng Subform thay cho Listbox (khi thực thị chương trình thì bạn đặt thuộc tính cho nó là Datasheet), Subform thì cũng là form nên bạn có thể lập trình thoải mái! muốn gán hiệu ứng gì cho nó cũng được, ngoài ra không như Listbox bị giới hạn số dòng nạp liệu (65535 dòng) Subform nạp liệu thoải mái (chỉ tùy thuộc vào số record của Table).


RE: Tạo hiệu ứng sáng khi di chuyển chuột - ongke0711 - 12-10-18

007  Có một cách dã chiến đó là:
- Xác địch toạ độ X, Y của chuột.
- Ở sự kiện MouseUp của Listbox sẽ cho di chuyển 1 cái Rectangle theo toạ độ chuột.

[Hình: giphy.gif]


- Hàm xác định toạ độ chuột:

Mã PHP:
Option Compare Database
Option Explicit

Private Type POINTAPI
   X 
As Long
   Y 
As Long
End Type
Private Declare Function GetCursorPos Lib "user32" _
                                     
(lpPoint As POINTAPI) As Long

Public Function GetXCursorPos() As Long
   Dim pt 
As POINTAPI
   GetCursorPos pt
   GetXCursorPos 
pt.X
End 
Function
Public Function 
GetYCursorPos() As Long
   Dim pt 
As POINTAPI
   GetCursorPos pt
   GetYCursorPos 
pt.Y
End 
Function 



RE: Tạo hiệu ứng sáng khi di chuyển chuột - tieu_ngao - 12-10-18

Hay quá anh!