Bu dosya, bir Userform üzerindeki ToggleButton denetimlerinin olaylarını her buton için ayrı kod yazmadan, tek bir sınıf modülü (Class Module) ile yönetmeyi gösteren VBA örneğidir. Butonlara tıklandığında bir mesaj kutusu açılır; fare butonların üzerine geldiğinde ise formdaki bir etiketin (Label) metni güncellenir.
Dosyanın içeriği
- Sayfa1: Yalnızca örneğin başlığını içerir. Formu açan işlem bir makro olarak hazırdır.
- Userform1: Üzerinde ToggleButton denetimleri ve Label1 etiketi bulunan form. Kod bölümünde form açılırken butonları sınıfa bağlayan UserForm_Initialize yordamı yer alır.
- ToggleClass: ToggleButton olaylarını yakalayan sınıf modülü.
- Module1: Formu açan ShowKenoForm makrosunu içerir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Kodda dosya silme, dış bağlantı gibi zararlı bir işlem bulunmaz.- ShowKenoForm: Userform1 formunu açar.
- UserForm_Initialize: Form açılırken formdaki tüm denetimleri tarar, türü ToggleButton olanları sayar ve her birini ToggleClass sınıfının bir örneğine bağlar. Böylece kaç buton olursa olsun hepsi aynı olay kodunu kullanır.
- ToggleGrup_Change: Bir butonun değeri değiştiğinde, basılan butonun başlığını (Caption) ve değerini (Value) gösteren bir mesaj kutusu açar.
- ToggleGrup_MouseMove: Fare bir butonun üzerine geldiğinde Label1 etiketine butonun başlığını ve değerini yazar.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Alt+F8 ile ShowKenoForm makrosunu çalıştırın.
- Formdaki ToggleButton'lardan birine tıklayın; butonun başlığı ve değeri mesaj kutusunda görüntülenir.
- Fareyi butonların üzerinde gezdirin; etiket, üzerinde bulunulan butonun başlığı ve değeriyle güncellenir.
- Yeni buton eklemek için forma ToggleButton ekleyin; kod değişikliği gerekmeden sınıfa otomatik bağlanır.