Làm sao để tạo hiệu ứng hover cho listbox

Liên hệ QC

NhaTrankk

Thành viên mới
Tham gia
29/3/22
Bài viết
3
Được thích
1
Mọi người chỉ em cách tạo hiệu ứng khi hover cho listbox với ạ
 
Tốt gỗ hơn tốt nước sơn. Ba cái hiệu ứng linh tinh loè thiên hạ chứ ích gì.
 
Upvote 0
Bây giờ, gỗ hay nước sơn đều phải tốt các bạn à. Khi ai cũng tốt gỗ thì còn yếu tố gì để cạnh tranh. Phải tìm cách cải tiến mọi khía cạnh, mọi yếu tố.
Các hiệu ứng như chủ thớt mong muốn rất dễ gây ấn tượng khi thiết kế 1 website (nhưng thấy cũng ít ai làm vậy), chứ với 1 phần mềm csdl thì chỉ tổ làm cho nó rườm rà, nặng nề thêm.
 
Upvote 0
Bây giờ, gỗ hay nước sơn đều phải tốt các bạn à. Khi ai cũng tốt gỗ thì còn yếu tố gì để cạnh tranh. Phải tìm cách cải tiến mọi khía cạnh, mọi yếu tố.
Nhất trí với anh, ngày xưa chỉ cần ăn chắc mặc bền, giờ thì ăn ngon mặc đẹp, tiến tới thì ăn sướng mặc sang .... Cũng chỉ là ăn mặc, ai cũng ăn mặc, nhưng ai ăn mặc sang trọng hơn sẽ được đánh giá cao hơn, giá trị hơn.
 
Upvote 0
Nhất trí với anh, ngày xưa chỉ cần ăn chắc mặc bền, giờ thì ăn ngon mặc đẹp, tiến tới thì ăn sướng mặc sang .... Cũng chỉ là ăn mặc, ai cũng ăn mặc, nhưng ai ăn mặc sang trọng hơn sẽ được đánh giá cao hơn, giá trị hơn.

Em tưởng mặc ít vải nhất mới là nhất. :p
 
Upvote 0
Dạ đúng rồi ạ. Có cách nào không ạ?
Nó rất đơn giản bạn ơi, không cầu kỳ, không cần API, rất dễ và nhẹ hều.

PHP:
Private priLngListCount As Long
Private priDblListItemSize As Double

Private Sub UserForm_Initialize()
    ListBox1.AddItem "Computer"
    ListBox1.AddItem "Screen"
    ListBox1.AddItem "Modem"
    ListBox1.AddItem "Printer"
    ListBox1.AddItem "Scanner"
    ListBox1.AddItem "Sound Blaster"
    ListBox1.AddItem "Keyboard"
    ListBox1.AddItem "CD-Rom"
    ListBox1.AddItem "Mouse"
    ListBox1.TopIndex = 0
    priLngListCount = ListBox1.ListCount - ListBox1.TopIndex
    priDblListItemSize = ListBox1.Height / priLngListCount
End Sub

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim lngItem As Long
    lngItem = Application.WorksheetFunction.RoundDown(Y / priDblListItemSize, 0) + ListBox1.TopIndex
    If lngItem >= ListBox1.ListCount - 1 Then lngItem = ListBox1.ListCount - 1
    ListBox1.ListIndex = lngItem
End Sub
 

File đính kèm

  • HighlightListBox.xlsm
    14.5 KB · Đọc: 15
Upvote 0
Tốt gỗ hơn tốt nước sơn. Ba cái hiệu ứng linh tinh loè thiên hạ chứ ích gì.
Thứ nhất: sơn là người ta sơn giùm chứ có mất công mất của đâu.
Thứ hai: lắm lúc nước sơn giùm ấy che được cái xấu của gỗ.
Thứ ba: co bao nhiêu ngwoif biết phân biệt gỗ tốt xấu?

Vả lại, gỗ xấu thì có 100 cách để đổ thừa là lỗi người dùng. Cùng lắm thì lại lên GPE nhờ giải quyết.
Túm lại, cứ sơn cho đẹp đi rồi tính sau. Mất mát gì mà sợ.
 
Upvote 0
Cảm
Nó rất đơn giản bạn ơi, không cầu kỳ, không cần API, rất dễ và nhẹ hều.

PHP:
Private priLngListCount As Long
Private priDblListItemSize As Double

Private Sub UserForm_Initialize()
    ListBox1.AddItem "Computer"
    ListBox1.AddItem "Screen"
    ListBox1.AddItem "Modem"
    ListBox1.AddItem "Printer"
    ListBox1.AddItem "Scanner"
    ListBox1.AddItem "Sound Blaster"
    ListBox1.AddItem "Keyboard"
    ListBox1.AddItem "CD-Rom"
    ListBox1.AddItem "Mouse"
    ListBox1.TopIndex = 0
    priLngListCount = ListBox1.ListCount - ListBox1.TopIndex
    priDblListItemSize = ListBox1.Height / priLngListCount
End Sub

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim lngItem As Long
    lngItem = Application.WorksheetFunction.RoundDown(Y / priDblListItemSize, 0) + ListBox1.TopIndex
    If lngItem >= ListBox1.ListCount - 1 Then lngItem = ListBox1.ListCount - 1
    ListBox1.ListIndex = lngItem
End Sub
Cảm ơn bác ạ
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom