Bu dosya, varsayılan olarak yalnızca Kapat butonu bulunan bir UserForm penceresine Simge Durumuna Küçültme ve Ekranı Kaplama butonlarını da ekleyen çalışan bir örnektir. Buton ekleme işlemi Windows API fonksiyonlarıyla yapılır.
Dosyanın içeriği
- Sayfa1: Formu açan düğmenin bulunduğu sayfadır. Sayfada veri ya da formül yoktur.
- Module1: Formu açan Düğme1_Tıklat makrosunu içerir.
- UserForm1: Pencere stilini değiştiren API tanımlarını ve UserForm_Activate olayını içerir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.- Düğme1_Tıklat: UserForm1.Show komutuyla formu açar. Sayfa1 üzerindeki düğmeye tıklanınca çalışır.
- UserForm_Activate: Form her etkinleştiğinde çalışır. FindWindow ile form penceresinin tanıtıcısı, form başlığından (Caption) bulunur. GetWindowLong ile mevcut pencere stili okunur. Stile simge durumuna küçültme, ekranı kaplama ve sistem menüsü bayrakları eklenir. SetWindowLong yeni stili uygular. ShowWindow ve DrawMenuBar pencereyi ve başlık çubuğunu yeniden çizer, böylece üç buton görünür.
Sürüm uyarısı
API tanımları Long veri tipiyle ve PtrSafe ifadesi olmadan yazılmıştır. Bu nedenle kod 32 bit Excel sürümlerinde çalışır; 64 bit Excel sürümlerinde hata verebilir.Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sayfa1 üzerindeki düğmeye tıklayarak UserForm1 penceresini açın.
- Pencerenin başlık çubuğunda simge durumuna küçültme, ekranı kaplama ve kapatma butonları görüntülenir.
- Aynı özelliği kendi formunuzda kullanmak için API tanımlarını ve UserForm_Activate olayındaki kodu kendi UserForm kod sayfanıza taşıyın. Form başlığı (Caption) boş olmamalıdır, çünkü pencere bu başlıkla bulunur.