Dosya simgesi

UserForm Nesnesini Boyutlandırma

UserForm Nesnesini Boyutlandırma
Bu dosya, bir UserForm penceresinin çalışma sırasında kullanıcı tarafından nasıl boyutlandırılabileceğini iki farklı yöntemle gösterir: yalnızca VBA kodu ile ve Windows API çağrıları ile. Her iki formda da bir ListBox ve bir kapatma düğmesi bulunur; form büyüyüp küçüldükçe bu nesneler de forma göre yeniden konumlanır.

Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.

Dosyanın içeriği​

  • modOpenForm: İki formu açan iki makroyu barındıran modüldür.
  • myUserFormVBA: VBA ile boyutlandırılan form. Sağ alt köşede bir lblResizer etiketi bulunur.
  • myUserFormWindowsAPI: Windows API ile boyutlandırılan form.
  • WindowsAPI: API tanımlarını ve pencere stilini değiştiren yordamı içeren modüldür.

Makrolar​

  • OpenUserFormVBA: myUserFormVBA formunu açar.
  • OpenUserFormWindowsAPI: myUserFormWindowsAPI formunu açar.
  • myUserFormVBA: Form açılırken UserForm_Initialize tutamacı sağ alt köşeye yerleştirir ve en küçük genişlik ile yüksekliği 125 olarak belirler. Tutamaç üzerinde fare düğmesine basıldığında (lblResizer_MouseDown) fare konumu kaydedilir. Fare hareket ettikçe (lblResizer_MouseMove) form, ListBox ve tutamaç yeni ölçüye göre ayarlanır, kapatma düğmesi ise kaydırılır. Minimum ölçünün altına inilmesine izin verilmez. Düğme bırakıldığında (lblResizer_MouseUp) boyutlandırma sona erer.
  • ResizeWindowSettings: user32 kütüphanesindeki FindWindowA, GetWindowLong, SetWindowLong ve DrawMenuBar işlevlerini kullanarak formun pencere stiline WS_THICKFRAME ekler veya çıkarır; böylece form kenarlarından sürüklenerek boyutlandırılabilir. Tanımlar hem VBA7 (PtrSafe) hem eski sürümler için hazırdır.
  • myUserFormWindowsAPI: Açılışta ResizeWindowSettings çağrılır ve ListBox ile düğmenin form kenarlarına olan uzaklıkları saklanır. UserForm_Resize olayında bu uzaklıklar korunarak ListBox genişler, kapatma düğmesi sağ alta taşınır.
  • cmdClose_Click: Her iki formda da formu kapatır.
Kodda dosya silme veya dışarıya bağlantı gibi işlem yoktur; API çağrıları yalnızca form penceresinin stilini değiştirir.

Nasıl kullanılır​

  1. Dosyayı açıp makroları etkinleştirin.
  2. Alt+F8 ile makro listesini açın ve OpenUserFormVBA ya da OpenUserFormWindowsAPI makrosunu çalıştırın.
  3. VBA formunda sağ alt köşedeki tutamacı sürükleyin; API formunda pencere kenarını veya köşesini sürükleyin.
  4. Kendi formunuza uyarlamak için Alt+F11 ile VBA düzenleyicisini açın, ilgili form ve modül kodunu inceleyip nesne adlarını kendi formunuza göre değiştirin.

ExcelDepo tarafından daha fazla dosya

  • Sevdim
  • Beğen
Tepkiler: 52779 ve Mehmet23
Detaylar
Yazar
ExcelDepo
İndirme
19
Gösterim
567
İlk sürüm
Güncel
SHA-256
9ba1e9f0aa12643d739b5a3064ce1dd99ae406c827ce52de3e0dedabedfbf802

Puanlar

5.00 Oylama 1 İnceleme

En son değerlendirmeler

Sağolun, oldukça faydalı bir dosya.
Geri
Üst