VB6 - Оформяне на формуляр прозрачен

Програма във VB6 или Visual Basic 6 може да се използва, за да се направи прозрачна форма във VB6 . Необходими са някои познания по програмни концепции и езици като Visual Basic, за да пишат програми във VB6. Необходими са основни познания за подпрограми, цикли if-else и Visual Basic, за да се пишат програми във VB6. Програма за създаване на прозрачна форма във VB6 може да бъде написана с помощта на VB6 функции като функцията SetLayeredWindowAttributes и битовите операции в дефинирана от потребителя подпрограма. Тази дефинирана от потребителя подпрограма ще се нарича събитие за форма, в зависимост от това кога се зарежда формата.

Приготвяме се да започнем

Ето кратък пример как да направите прозрачна форма във Visual Basic.

Забележка: За да работи това, трябва да се включи цветова палитра.

В модул

 Частна декларираща функция GetWindowLong Lib "user32" Псевдоним "GetWindowLongA" (ByVal hWnd Long, ByVal nIndex Long)

Частна декларираща функция SetWindowLong Lib "user32" Псевдоним "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex Long, ByVal dwNewLong Long)

Частна декларираща функция SetLayeredWindowAttributes Lib "user32" (ByVal hWnd като дълъг, ByVal crKey като дълъг, ByVal bDefaut като Byte, ByVal dwFlags As Long)

Частни конституирани GWL_EXSTYLE Дълги = (-20)

Частни константи LWA_COLORKEY Като Long = & H1

Частна константа LWA_Defaut As Long = & H2

Частни константи WS_EX_LAYERED Като Long = & H80000

"

Прозрачност на публичната функция (ByVal hWnd като дълъг, опционален от ByVal Col като Long = vbBlack, _

Незадължително ByVal PcTransp As Byte = 255, Незадължително ByVal TrMode като Boolean = True) Като булева

'Връщане: Вярно, ако няма грешка.

hWnd: hWnd на прозореца, за да стане прозрачен

Col: Цветът е прозрачен, ако TrMode = False

'PcTransp: 0 Ã 255 >> 0 = прозрачен -: - 255 = Непрозрачно

Дим на дисплея като дълъг

При грешка GoTo Exit

VoirStyle = GetWindowLong (hWnd, GWL_EXSTYLE)

Ако DisplayStyle (DisplayStyle или WS_EX_LAYERED) След това

DisplayStyle = (DisplayStyle Или WS_EX_LAYERED)

Повикване на SetWindowLong (hWnd, GWL_EXSTYLE, DisplayStyle)

Край Ако

Прозрачност = (SetLayeredWindowAttributes (hWnd, Col, PcTransp, IIf (TrMode, LWA_COLORKEY Или LWA_Defaut, LWA_COLORKEY))

Изход:

Ако не е Err.Number = 0 Тогава Err.Clear

Крайна функция

Публична подактивна прозрачност (M като форма, d като булева, F като булева, _

T_Прозрачност като цяло число, опционален цвят като дълъг)

Dim B Като булева

Ако d и F тогава

„Прозрачен е цветът (тук цвета на фона на формата)

'при стойност на T_Transparency

B = Прозрачност (M.hWnd, Color, T_Transparency, False)

Различно тогава

„Оформя прозрачна форма, включително всички компоненти

'при стойност на T_Transparency

B = Прозрачност (M.hWnd, 0, T_Transparency, True)

още

Възстановява непрозрачната форма.

B = Прозрачност (M.hWnd,, 255, True)

Край Ако

Край Под

Както се използва във форма

 Частна подправка Form_Load ()

Dim i As Integer

Ex: всички прозрачни при съотношение 140/255

Активна прозрачност Me, True, False, 140, Me.BackColor

Пример: Форма прозрачен, видим компонент в съотношение 140/255

Активна прозрачност Me, True, True, 140, Me.BackColor

'Пример показва разграждането на прозрачността на формата

Активна прозрачност Me, True, False, 0

Me.Show

За i = 0 до 255 Стъпка 3

Активна прозрачност Me, True, False, i

Me.Refresh

Следващ i

Край Под

Предишна Статия Следваща Статия

Топ Съвети