VB6 - Izdelava preglednega obrazca

Program v VB6 ali Visual Basic 6 se lahko uporabi za izdelavo pregledne oblike v VB6 . Potrebno je nekaj znanja o programskih konceptih in jezikih, kot je Visual Basic, za pisanje programov v VB6. Osnovno znanje podprogramov, zanke if-else in funkcije Visual Basic so potrebne za pisanje programov v VB6. Program, ki oblikuje pregledno obliko v VB6, se lahko zapiše z uporabo funkcij VB6, kot je funkcija funkcije SetLayeredWindowAttributes in bitne operacije, v uporabniško definiranem podprogramu. Ta uporabniško definiran podprogram se imenuje dogodek obrazca, odvisno od tega, kdaj se obrazec naloži.

Prvi koraki

Tukaj je kratek primer, kako narediti obliko pregledno v Visual Basicu.

Opomba: Za to mora biti vključena barvna paleta.

V modulu

 Funkcija za zasebno izjavo GetWindowLong Lib "user32" Alias ​​"GetWindowLongA" (ByVal hWnd Long, ByVal nIndex Long)

Zasebna izjava Funkcija SetWindowLong Lib "user32" Alias ​​"SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex Long, ByVal dwNewLong Long)

Funkcija za zasebno deklaracijo SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey as Long, ByVal bDefaut As Byte, ByVal dwFlags As Long)

Zasebna zgradba GWL_EXSTYLE Kot dolga = (-20)

Zasebna zgradba LWA_COLORKEY Kot dolga = & H1

Zasebna zgradba LWA_Defaut kot dolga = & H2

Zasebna zgradba WS_EX_LAYERED Kot dolga = & H80000

"

Transparentnost javne funkcije (ByVal hWnd kot dolga, neobvezno ByVal Col kot dolg = vbBlack, _

Neobvezno ByVal PscTransp Kot Byte = 255, Neobvezno ByVal TrMode Kot Boolean = True) Kot logično

'Vrni: True, če ni napake.

hWnd: hWnd okna, da postane pregleden

'Col: Barva, da postane transparentna, če je TrMode = False

PcTransp: 0 Ã 255 >> 0 = transparentno -: - 255 = Neprozorno

Dim DisplayStyle as Long

Na napaki GoTo Exit

VoirStyle = GetWindowLong (hWnd, GWL_EXSTYLE)

Če je DisplayStyle (DisplayStyle ali WS_EX_LAYERED) Nato

DisplayStyle = (DisplayStyle ali WS_EX_LAYERED)

Klic SetWindowLong (hWnd, GWL_EXSTYLE, DisplayStyle)

End If

Transparentnost = (SetLayeredWindowAttributes (hWnd, Col, PcTransp, IIf (TrMode, LWA_COLORKEY ali LWA_Defaut, LWA_COLORKEY))

Izhod:

Če ni Err.Number = 0 Potem Err.Clear

Končna funkcija

Javna pod aktivna transparentnost (M kot oblika, d kot logična, F kot logična,

T_prozornost kot celo število, neobvezna barva kot dolga)

Dim B Kot logično

Če d in F nato

'Barva (tukaj barva ozadja oblike) postane prozorna

'po vrednosti T_Transparency

B = Prosojnost (M.hWnd, Color, T_Transparency, False)

V nadaljevanju

„Ustvari pregledno obliko, vključno z vsemi komponentami

'po vrednosti T_Transparency

B = Transparentnost (M.hWnd, 0, T_Transparency, True)

Drugače

'Obnavlja neprosojno obliko.

B = Prosojnost (M.hWnd,, 255, True)

End If

End Sub

Kot se uporablja v obliki

 Zasebna podvrsta Form_Load ()

Dim i As Integer

'Ex: vsi prosojni pri razmerju 140/255

'Aktivna transparentnost Me, True, False, 140, Me.BackColor

'Npr .: Oblika pregledne, vidne komponente v razmerju 140/255

'Aktivna transparentnost Me, True, True, 140, Me.BackColor

'Primer prikaže degradacijo preglednosti obrazca

Aktivna transparentnost Me, True, False, 0

Me.Show

Za i = 0 do 255 3. korak

Aktivna transparentnost Me, True, False, i

Osveži

Naprej i

End Sub

Prejšnji Članek Naslednji Članek

Top Nasveti