VBA Transparan Form


VBA ile transparan kind yapabilmek için UserForm_Initialize() olayından işleminizi gerçekleştirmelisiniz.. Örnek bıir çalışma yapalım:

Personal Declare Operate FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Lengthy
Personal Declare Perform GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Lengthy, ByVal nIndex As Lengthy) As Lengthy
Non-public Declare Operate SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Lengthy, ByVal nIndex As Lengthy, ByVal dwNewLong As Lengthy) As Lengthy
Personal Declare Perform SetLayeredWindowAttributes Lib "user32" _
(ByVal hWnd As Lengthy, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Lengthy) As Lengthy
Personal Const GWL_EXSTYLE = (-20)
Personal Const WS_EX_LAYERED = &H80000
Personal Const LWA_ALPHA = &H2&
Public hWnd As Lengthy
Personal Sub UserForm_Initialize()
Dim bytOpacity As Byte
bytOpacity = 192
hWnd = FindWindow("ThunderDFrame", Me.Caption)
Name SetWindowLong(Me.hWnd, GWL_EXSTYLE, GetWindowLong(Me.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
Name SetLayeredWindowAttributes(Me.hWnd, zero, bytOpacity, LWA_ALPHA)
Finish Sub

`

Yazar: mmustafaaslan

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

“VBA Transparan Form” için 6 yorum

  1. UserForm_Initialize()
    olayının içine aynen kopyaladım haa mesajları aldım ayrıca verilen kodların içindede
    UserForm_Initialize()
    yazıyor. bunu silince yine hata veriyor.
    öneri : Bu site VB yeni kullananlara yönelik ise biraz daha açıklayıcı olsa daha iyi olur .
    soru : form oluşturdum exceli görünmez yaptım (form görünüyor)
    ama formun en üste kalmasını sağlıyamadım bütün pencerelerin üstünde deactif olarak
    gözükecek çözüm öneriniz varmı acaba?

    1. Merhaba konu userform’un transparan gorunumunu saglayabilmek icin acilmis bir konudur.

      bir userform’u cift tikladiginizda gelen kodlari silerek konudaki kodlari kopyalarsaniz formunuzun transparan acilmasini saglamaktadir.

      Userformun ust ekranda deaktif olmasi ile ilgili bir cozum onerim bulunmamakta, iyi calismalar.

    1. Merhaba,

      Deklerasyonlarin 64 bit versiyon karsiliklarini arastirmak gerekiyor fakat hepsinin karsiligi oldugunu sanmiyorum, genel anlamda 32 bit kullanmanizi oneririm.

      Bildigim kadariyla 64 bit bir bilgisayarda 32 bit ofis surumu kullanilabiliyor.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


2 + 6 =