Как сделать дочернюю форму MDI прозрачной в vb6
Это мой код.
Option Explicit Const LW_KEY = &H1 Const G_E = (-20) Const W_E = &H80000 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function ReleaseCapture Lib "user32.dll" () As Long Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Const LWA_ALPHA = &H2 Private Const GWL_EXSTYLE = (-20) Private Const LWA_COLORKEY = &H1 Private Const ULW_COLORKEY = &H1 Private Const ULW_ALPHA = &H2 Private Const ULW_OPAQUE = &H4 Private Const WS_EX_LAYERED = &H80000 Private Sub Form_Load() Dim Ret As Long Dim TC As Long TC = &HC000C0 Ret = GetWindowLong(Me.hwnd, G_E) Ret = Ret Or W_E SetWindowLong Me.hwnd, G_E, Ret Me.BackColor = TC SetLayeredWindowAttributes Me.hwnd, TC, 0, LWA_COLORKEY End Sub
Что я уже пробовал:
Этот код работал в формах SDI, но не работал в дочерней форме MDI.
Как сделать так, чтобы сделать детскую форму прозрачной заднего цвета со слоистым окном?
Пожалуйста, помогите мне.
Заранее Спасибо
smdoss
Привет, Джерри, Спасибо за твой совет. Тогда я попробую что-то изменить в своем коде с помощью вашего совета. Наконец я получаю результат. Дочерняя форма MDI действительно прозрачна. Сначала я помещаю код в родительскую форму и помещаю код в дочернюю форму. Это сработало нормально. В то же время я хочу видеть содержимое элементов управления другой дочерней формы, но прозрачная дочерняя форма не показывает содержимое других дочерних форм. что я могу сделать? пожалуйста помочь.
И как я могу загрузить примерные изображения результата моего проекта?(извините за мой бедный язык)