Transparan UserForm Oluşturma

Transparan UserForm Oluşturma isimli makro kodu, UserForm nesnenizin transparan yani şeffaf olmasını sağlamaktadır.

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" _
    (ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_ALPHA = &H2&

Public hWnd As Long

Private Sub UserForm_Initialize()
Dim bytOpacity As Byte
bytOpacity = 110  'şeffaflık ayarıyla buradan oynayabilirsiniz
hWnd = FindWindow("ThunderDFrame", Me.Caption)
Me.Caption = "ExcelDepo"
Call SetWindowLong(Me.hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
Call SetLayeredWindowAttributes(Me.hWnd, 0, bytOpacity, LWA_ALPHA)
End Sub

Transparan UserForm Oluşturma Uygulama Adımları

  1. Microsoft Visual Basic for Applications penceresini (Alt + F11) açın.
  2. 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.
  3. Araç çubuklarından Insert -> UserForm yazısına tıklayın.
  4. Solunda klasör simgesi olan Forms yazısının başındaki + simgesine tıklayın.
  5. Alt kısma eklenecek olan UserForm(1) yazısına çift tıklayın.
  6. Üstteki kodu yapıştırın.

Kod Açıklaması

Boş bir UserForm nesnesinin kod kısmına, üstteki kodları eklediğinizde; UserForm şeffaf olarak açılacaktır. Böylece UserForm oldukça güzel bir görünüme sahip olmaktadır. Lakin oldukça güzel olan bu görüntüler, ne yazık ki 64 bit Ofis Sürümlerinde çalışmamaktadır.

Daha Fazla Göster
Başa dön tuşu