VB6 - Bir formu saydam yapma

VB6 veya Visual Basic 6'daki bir program VB6'da bir formu saydam yapmak için kullanılabilir. Programlama kavramları ve Visual Basic gibi diller hakkında bazı bilgiler VB6'da program yazmak için gereklidir. VB6'da program yazmak için alt yordamlar, if-else döngüler ve Visual Basic işlevleri hakkında temel bilgiler gerekir. VB6'da bir formu saydam yapmak için bir program, kullanıcı tanımlı bir alt programda SetLayeredWindowAttributes işlevi ve bit işlemleri gibi VB6 işlevleri kullanılarak yazılabilir. Bu kullanıcı tanımlı alt yordam, form yüklendiğinde bağlı olarak bir form olayı olarak adlandırılır.

Başlamak

Visual Basic'te bir formun nasıl saydam hale getirildiğinin kısa bir örneği.

Not: Bunun çalışması için bir renk paleti dahil edilmelidir.

Bir modülde

 Özel Bildirim İşlevi GetWindowLong Lib "user32" Alias ​​"GetWindowLongA" (Uzun Süren ByVal hWnd, Uzun Süren ByVal nIndex)

Özel Bildirim İşlevi SetWindowLong Lib "user32" Alias ​​"SetWindowLongA" (Uzun Süren ByVal hWnd, Uzun Süren ByVal nIndex, Uzun Süren ByWal dWNewLong)

Özel Bildirim Fonksiyonu SetLayeredWindowAttributes Lib "user32" (ByVal hWnd Uzun, ByVal crKey Uzun, ByVal bDefaut Uzun Bayt, ByVal dwFlags Uzun)

Özel Const GWL_EXSTYLE Uzun Süreli = (-20)

Özel Const LWA_COLORKEY Uzun Süreli = H1

Özel İnşaat LWA_Defaut Uzun Süre = & H2

Özel Const WS_EX_LAYERED Uzun Süreli = & H80000

'

Genel İşlev Şeffaflığı (ByVal hWnd Uzun, İsteğe Bağlı ByVal Col Uzun) = vbBlack, _

Opsiyonel ByVal PcTransp Byte = 255, Opsiyonel ByVal TrMode Boolean olarak = True) Boolean olarak

'Geri Dön: Hata yoksa doğru.

'hWnd: Pencereyi hWnd şeffaf yapmak

'Col: TrMode = False ise şeffaf hale getirmek için renk

'PcTransp: 0 Ã 255 >> 0 = saydam -: - 255 = Opak

Dim Ekran Uzunluğu

Hata Durumunda Çık

VoirStyle = GetWindowLong (hWnd, GWL_EXSTYLE)

Eğer DisplayStyle (DisplayStyle Veya WS_EX_LAYERED) ise

DisplayStyle = (DisplayStyle Veya WS_EX_LAYERED)

SetWindowLong'u arayın (hWnd, GWL_EXSTYLE, DisplayStyle)

Bittiğinde

Şeffaflık = (SetLayeredWindowAttributes (hWnd, Col, PcTransp, IIf (TrMode, LWA_COLORKEY Veya LWA_Defaut, LWA_COLORKEY)) 0)

Çıkış:

Err.Number = 0 değilse Err.Clear

Son İşlev

Genel Alt ActiveTransparency (Form M, Boolean, D Bool, M)

T_T Tamsayı Olarak Şeffaflık, İsteğe Bağlı Renk Uzunluğunda)

Bool olarak Dim B

D ve F Öyleyse

'Rengi (burada şeklin arka plan rengi) saydam yapar

'T_Transparency değerine göre

B = Şeffaflık (M.hWnd, Renk, T_Transparlık, Yanlış)

Başka d Sonra

Tüm bileşenleri de içeren şeffaf hale getirir.

'T_Transparency değerine göre

B = Şeffaflık (M.hWnd, 0, T_Transparency, True)

Başka

'Opak formunu geri yükler.

B = Şeffaflık (M.hWnd,, 255, Doğru)

Bittiğinde

Son Alt

Bir formda kullanıldığı gibi

 Özel Alt Form_Load ()

Tamsayı Olarak Dim i

'Örn: tümü şeffaf / 140/255

'ActiveTransparency Me, Doğru, Yanlış, 140, Me.BackColor

Örn: Form 140/255 oranında saydam, görünür bileşen oluşturur

'ActiveTransparency Me, Doğru, Doğru, 140, Me.BackColor

'Örnek, form şeffaflık bozulmasını gösterir.

ActiveTransparency Me, Doğru, Yanlış, 0

Me.Show

İ = 0 ila 255 için Adım 3

ActiveTransparency Me, Doğru, Yanlış

Me.Refresh

Sıradaki ben

Son Alt

Önceki Makale Sonraki Makale

En Ipuçları