formularios transparentes
Hola a todos, estoy en una aplicación educativa y necesito
que algunos formularios no tengan forma rectangular, nada que me quedan más bonitos de esa forma, me han dicho que con formularios transparentes se resuelve, pero probé este codigo
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub Form_Load()
Dim Resp As Long
Resp = SetWindowLong(Me.hwnd, -20, &H20&)
Form1.Refresh
End Sub
y me hace transparentes también todos los controles y yo
quiero que solo sea transparente el formulario para dejar un fondo no rectangular con el resto de lo controles.
Ayuda por favor.
que algunos formularios no tengan forma rectangular, nada que me quedan más bonitos de esa forma, me han dicho que con formularios transparentes se resuelve, pero probé este codigo
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub Form_Load()
Dim Resp As Long
Resp = SetWindowLong(Me.hwnd, -20, &H20&)
Form1.Refresh
End Sub
y me hace transparentes también todos los controles y yo
quiero que solo sea transparente el formulario para dejar un fondo no rectangular con el resto de lo controles.
Ayuda por favor.
Esta son las declaraciones para un form eliptico:
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Esto va en el load del form:
Private Sub Form_Load()
Dim Xs As Long, Ys As Long
'circular:
Xs = Me.Width / Screen.TwipsPerPixelX
Ys = Me.Height / Screen.TwipsPerPixelY
SetWindowRgn hWnd, CreateEllipticRgn(10, 10, Xs, Ys), True
End Sub
Saludos
jhon
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, _
ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, _
ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Esto va en el load del form:
Private Sub Form_Load()
Dim Xs As Long, Ys As Long
'circular:
Xs = Me.Width / Screen.TwipsPerPixelX
Ys = Me.Height / Screen.TwipsPerPixelY
SetWindowRgn hWnd, CreateEllipticRgn(10, 10, Xs, Ys), True
End Sub
Saludos
jhon