VB6 - formos skaidrumas

VB6 arba „Visual Basic 6“ programa gali būti naudojama paversti formą VB6 . Kai kurios programavimo sąvokos ir kalbos, pavyzdžiui, „Visual Basic“, yra reikalingos, kad būtų galima rašyti programas VB6. Norint parašyti programas VB6, būtinos pagrindinės žinios apie subroutines, if-other kilpas ir Visual Basic funkcijas. Programa, kuria VB6 formą galima paversti skaidria, gali būti parašyta naudojant VB6 funkcijas, pvz., SetLayeredWindowAttributes funkciją ir bitų operacijas, naudotojo nustatytame paprogramėje. Šis vartotojo apibrėžtas paprogramis bus vadinamas formos įvykiu, priklausomai nuo to, kada bus įkelta forma.

Pradžia

Čia pateikiamas trumpas pavyzdys, kaip padaryti formą skaidrią „Visual Basic“.

Pastaba: kad tai veiktų, turi būti įtraukta spalvų paletė.

Modulyje

 Privatus deklaravimas Funkcija GetWindowLong Lib "user32" Alias ​​"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) kaip ilgas

„Private Declare“ funkcija „SetWindowLong Lib“ user32 „Alias“ „SetWindowLongA“ (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) kaip ilgas

„Private Declare“ funkcija „SetLayeredWindowAttributes Lib“ user32 (ByVal hWnd As Long, ByVal crKey As Long, ByVal bDefaut kaip baitas, ByVal dwFlags As Long) As Long

Privatus Const GWL_EXSTYLE kaip ilgas = (-20)

Privatus Const LWA_COLORKEY Kaip ilgas = & H1

Privatus Const LWA_Defaut Kaip ilgas = & H2

Asmeninis Const WS_EX_LAYERED Kaip ilgas = & H80000

Viešųjų funkcijų skaidrumas (ByVal hWnd kaip ilgas, neprivalomas ByVal Col kaip ilgas = vbBlack, _

Neprivaloma ByVal PcTransp kaip baitas = 255, pasirinktinis ByVal TrMode kaip loginis = tikras) kaip loginis

„Grįžti: tiesa, jei nėra klaidos.

„hWnd: hWnd iš lango, kad padarytumėte skaidrią

„Col: Color“, kad būtų skaidrus, jei TrMode = False

„PcTransp: 0 Ã 255 >> 0 = skaidrus -: - 255 = nepermatomas

Dim DisplayStyle As Long

Klaida „GoTo Exit“

VoirStyle = GetWindowLong (hWnd, GWL_EXSTYLE)

Jei DisplayStyle (DisplayStyle arba WS_EX_LAYERED) tada

„DisplayStyle“ = („DisplayStyle“ arba „WS_EX_LAYERED“)

Skambučio nustatymasWindowLong (hWnd, GWL_EXSTYLE, DisplayStyle)

Baigti Jei

Skaidrumas = (SetLayeredWindowAttributes (hWnd, Col, PcTransp, IIf (TrMode, LWA_COLORKEY arba LWA_Defaut, LWA_COLORKEY)) 0)

Išeiti:

Jei ne Err.Number = 0 Tada Err.Clear

Pabaigos funkcija

Viešasis subaktyvus skaidrumas (M kaip forma, d kaip loginis, F kaip loginis, _

T_Transparency As Integer, pasirinktinė spalva kaip ilga)

Dim B kaip Boolean

Jei d ir F tada

„Padaro spalvą (čia fono spalvą) skaidrią

„pagal T_Transparency vertę

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

Dar kitaip, jei d

„Forma, įskaitant visus komponentus, yra skaidri

„pagal T_Transparency vertę

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

Kitas

„Atkuria formą nepermatomą.

B = skaidrumas (M.hWnd,, 255, tiesa)

Baigti Jei

Pabaiga

Kaip naudojama formoje

 Privatus poklasis_Load ()

Dim i As Integer

„Pavyzdžiui: visi skaidrūs santykiu 140/255

„ActiveTransparency Me, True, False, 140, Me.BackColor

„Pavyzdys: Skaidri, matoma sudedamoji dalis 140/255

„ActiveTransparency Me, True, True, 140, Me.BackColor

„Pavyzdys rodo formos skaidrumo degradaciją

ActiveTransparency Me, True, False, 0

Parodyti

I = 0 iki 255 3 veiksmas

ActiveTransparency Me, True, False, i

Atnaujinkite

Kitas i

Pabaiga

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai