Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: CH4ŘZ en 3 Octubre 2009, 08:28 am



Título: duda de los form
Publicado por: CH4ŘZ en 3 Octubre 2009, 08:28 am
hay alguna manera de hacer el form transparente, pero que a la vez se vea su contenido ???


Título: Re: duda de los form
Publicado por: BlackZeroX en 3 Octubre 2009, 08:45 am
Contenido, cual? de que forma?

bueno en dado caso aqui tienes para hacerlo transparente:

Antes que nada disculpa el ponertelo asi, la razon es por que de igual forma puedes usar la funcion Transparencia para hacer otras cosas transparentes ademŕs del form!ˇ.
Código
  1. Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  2. Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  3. Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  4. Const GWL_EXSTYLE = (-20)
  5. Const WS_EX_LAYERED = &H80000
  6. Const LWA_ALPHA = &H2&
  7.  
  8. Public Function Transparencia(Handle As Long, Level As Byte) As Long
  9.    Dim Estilo As Long
  10.    Estilo = GetWindowLong(Handle, GWL_EXSTYLE)
  11.    Call SetWindowLong(Handle, _
  12.                       GWL_EXSTYLE, _
  13.                       Estilo Or WS_EX_LAYERED)
  14.    Call SetLayeredWindowAttributes(Handle, 0, Level, LWA_ALPHA)
  15.    Transparencia = 1
  16.    Exit Function
  17. errs:
  18.    Transparencia = 0
  19. End Function
  20.  
  21. Public Function Transparencia_Form(ByVal hwnd As Long, valor As Integer) As Long
  22.    On Local Error GoTo errs
  23.    If valor < 0 Or valor > 255 Then
  24.        Transparencia_Form = 1
  25.    Else
  26.        SetWindowLong hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
  27.        Call Transparencia(hwnd, CByte(valor))
  28.        Transparencia_Form = 0
  29.    End If
  30.    Transparencia_Form = 1
  31.    Exit Function
  32. errs:
  33.    Transparencia_Form = 0
  34.    err.clear
  35. End Function
  36.  

Para hacer Regiones del form transparente es de otra forma, creo que ya esta posteada esa forma desde hace tiempo en el foro!ˇ.

Dulces Lunas!ˇ.


Título: Re: duda de los form
Publicado por: CH4ŘZ en 3 Octubre 2009, 09:06 am
gracias x la respuesta
el contenido serian 2 shapes
y adentro de los shapes hay otras cosas
labels picturebox image etc


Título: Re: duda de los form
Publicado por: CH4ŘZ en 3 Octubre 2009, 09:53 am
yo necesitaria que los objetos dentro del form no se transparenten con el mismo, como puedo hacerlo???


Título: Re: duda de los form
Publicado por: Dessa en 3 Octubre 2009, 12:58 pm
Hola, probá si este code te sirve

http://foro.elhacker.net/programacion_vb/como_hacer_esto_medio_transparente-t256170.0.html;msg1242108#msg1242108  (http://foro.elhacker.net/programacion_vb/como_hacer_esto_medio_transparente-t256170.0.html;msg1242108#msg1242108)


S2