Dosya simgesi

ComboBox ve ListBox Mouse Scroll Wheel Yöntemi

ComboBox ve ListBox Mouse Scroll Wheel Yöntemi
Bu dosya, bir UserForm üzerindeki ComboBox ve ListBox nesnelerinde listenin fare tekerleği (scroll wheel) ile aşağı yukarı kaydırılmasını sağlayan bir VBA örneğidir. Varsayılan durumda bu nesnelerde listeyi kaydırmak için sağdaki kaydırma çubuğuna tıklamak gerekir; örnekte fare imleci nesnenin üzerine geldiğinde tekerlek hareketi listeye aktarılır. Çözüm, user32 kütüphanesindeki Windows API fonksiyonlarına dayanır.

Dosyanın içeriği​

  • Sayfa1: A1:A16 aralığında liste verisi bulunur. myList adlı tanımlı ad, Sayfa1!$A$2:$A$21 aralığını gösterir.
  • ufScrollWheelAndHover: cmbMyList adlı ComboBox ve lbxMyList adlı ListBox içeren UserForm.
  • Module1: Formu açan openform prosedürünü içerir.
  • ScrollWheel: Fare kancasını kuran ve kaldıran API kodlarının bulunduğu modül.

Makrolar​

Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
  • openform: ufScrollWheelAndHover formunu açar. Dosyayı başlatan makro budur.
  • HookListBoxScroll: Formu ve kaydırılacak nesneyi parametre olarak alır, fare tekerleği olaylarını yakalayan kancayı kurar. Kod, 32 ve 64 bit Office sürümleri için ayrı API tanımları içerir.
  • UnhookListBoxScroll: Kurulan kancayı kaldırır.
  • MouseProc: Kanca tarafından çağrılan fare olayı işleyicisidir; tekerlek hareketini ilgili ComboBox veya ListBox nesnesine iletir.
  • Formdaki cmbMyList_MouseMove ve lbxMyList_MouseMove olayları, fare nesnenin üzerine geldiğinde HookListBoxScroll prosedürünü çağırır. UserForm_QueryClose olayı form kapanırken UnhookListBoxScroll ile kancayı kaldırır.
Kodda dosya silme veya dışarıya bağlantı kuran bir işlem yoktur; yalnızca user32 kütüphanesindeki pencere ve fare kancası fonksiyonları kullanılır.

Nasıl kullanılır​

  1. Dosyayı açın ve makroları etkinleştirin.
  2. Alt+F8 ile openform makrosunu çalıştırın.
  3. Açılan formda fare imlecini ComboBox veya ListBox üzerine getirin.
  4. Fare tekerleğini çevirerek listeyi aşağı yukarı kaydırın.
  5. Kendi projenize uyarlamak için ScrollWheel modülünü ekleyin, formunuzdaki nesnelerin MouseMove olaylarında HookListBoxScroll, QueryClose olayında UnhookListBoxScroll prosedürünü çağırın.

ExcelDepo tarafından daha fazla dosya

Detaylar
Yazar
ExcelDepo
İndirme
22
Gösterim
1,477
İlk sürüm
Güncel
SHA-256
4070856a790b5728b46b9afb833f0c8eee11bd5e680fa981165ff40a0c311f87

Puanlar

5.00 Oylama 1 İnceleme

En son güncellemeler

  1. ListBox seçeneği de eklendi.

    ListBox seçeneği de eklendi.@Qene'nin talebi üzerine ListBox versiyonlu hali eklendi.

En son değerlendirmeler

Teşekkürler
Geri
Üst