UserForm Resize Özelliği Ekleme içeriğinde, UserForm nesnenizi istediğiniz gibi boyutlandırmanızı sağlayan hazır makrolar yer almaktadır.
Option Explicit Private Const MResizer = "ResizeGrab" Private WithEvents m_objResizer As MSForms.Label Private m_sngLeftResizePos As Single Private m_sngTopResizePos As Single Private m_blnResizing As Single Private Sub m_AddResizer() Set m_objResizer = Me.Controls.Add("Forms.label.1", MResizer, True) With m_objResizer With .Font .Name = "Marlett" .Charset = 2 .Size = 14 .Bold = True End With .BackStyle = fmBackStyleTransparent .AutoSize = True .BorderStyle = fmBorderStyleNone .Caption = "o" .MousePointer = fmMousePointerSizeNWSE .ForeColor = RGB(100, 100, 100) .ZOrder .Top = Me.InsideHeight - .Height .Left = Me.InsideWidth - .Width End With End Sub Private Sub CommandButton1_Click() Unload Me End Sub Private Sub m_objResizer_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 1 Then m_sngLeftResizePos = X m_sngTopResizePos = Y m_blnResizing = True End If End Sub Private Sub m_objResizer_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 1 Then With m_objResizer .Move .Left + X - m_sngLeftResizePos, .Top + Y - m_sngTopResizePos Me.Width = Me.Width + X - m_sngLeftResizePos Me.Height = Me.Height + Y - m_sngTopResizePos .Left = Me.InsideWidth - .Width .Top = Me.InsideHeight - .Height End With End If End Sub Private Sub m_objResizer_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 1 Then m_blnResizing = False End If End Sub Private Sub UserForm_Initialize() m_AddResizer End Sub Private Sub UserForm_Terminate() Me.Controls.Remove MResizer End Sub
UserForm Resize Özelliği Ekleme Uygulama Adımları
- Microsoft Visual Basic for Applications penceresini (Alt + F11) açın.
- Project – VBAProject alanının, ekranın sol tarafında görüldüğünden emin olun. Görünmüyorsa, Ctrl + R kısayolu ile hızlıca açın.
- Araç çubuklarından Insert -> UserForm yazısına tıklayın.
- Solunda klasör simgesi olan Forms yazısının başındaki + simgesine tıklayın.
- Alt kısma eklenen UserForm(1) yazısına çift tıklayın.
- Üstteki kodu yapıştırın.
Kod Açıklaması
Üstteki kodları bir UserForm nesnesine eklerseniz, açıldığında boyutları ile istediğiniz gibi ekran üzerinden oynayabilirsiniz. Böylece, boyutları şekillenen bir UserForm’a sahip olunmaktadır. Lakin, çok güzel bir görünüm oluşturan bu kodlar, 64 bit Ofis Sürümlerinde kodlar çalışmamaktadır.