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ı
- 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 eklenecek olan UserForm(1) yazısına çift tıklayın.
- Ü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.