in

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.