[SOLUCIONADO]Transparencia de Ventanas usando visual basic 2008 NET

Iniciado por genomma, 25 Junio 2009, 01:22 AM

0 Miembros y 1 Visitante están viendo este tema.

genomma

hola que tal...


Deseo Realizar un software con ventanas transparentes....y encontré este codigo que puse en un frm de basic 2008 y si me iso la ventana transparente..pero cuando traté de agregar controles como botones, labels, etc...a la hora de ejecucion simplemente se ve la ventana transparente pero sin los controles que he añadido...
¿como puedo solucionar este problema?.....

a continuacion pongo el codigo del frm de la ventana transparente.....




Private Declare Function DwmIsCompositionEnabled Lib "dwmapi.dll" (ByRef en As Integer) As Integer
   Private Declare Function DwmExtendFrameIntoClientArea Lib "dwmapi.dll" (ByVal hWnd As IntPtr, ByRef margins As MARGIN_STRUCT) As Integer
   Public Structure MARGIN_STRUCT
       Dim cxLeftWidth, cxRightWidth, cyTopHeight, cyBottomHeight As Integer

       Sub New(ByVal x1 As Integer, ByVal x2 As Integer, ByVal y1 As Integer, ByVal y2 As Integer)
           cxLeftWidth = x1
           cxRightWidth = x2
           cyTopHeight = y1
           cyBottomHeight = y2
       End Sub
   End Structure

   Sub New()
       Me.BackColor = Drawing.Color.Black
       Dim en As Integer
       If System.Environment.OSVersion.Version.Major >= 6 Then
           DwmIsCompositionEnabled(en)
           If en > 0 Then
               DwmExtendFrameIntoClientArea(Me.Handle, New MARGIN_STRUCT(-1, -1, -1, -1))
           End If
       End If
   End Sub

BlackZeroX

#1
Usa el foro adecuado... este es para Basic 6 no .NET

Sección Programacion general sub-foro .net hay plantea tu duda.
The Dark Shadow is my passion.

genomma


Fr4NN^

pero en vb.net los formularios no tienen una propiedad que es la transparencia de ventana??
Leyendo se aprende


seba123neo

Cita de: francella en 25 Junio 2009, 02:03 AM
pero en vb.net los formularios no tienen una propiedad que es la transparencia de ventana??

tal cual, tiene la propiedad Opacity..

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

genomma

hola que tal...soy genomma...



Es verdad existen esas dos opciones la opacyti y la de transparency key..pero si añadimos este trozo de codigo que puse incialmente,a un formulario...notarán que esta transparencia es igual a la de las ventanas que se usan en windows seven....


a diferencia de opacity o tranparecykey que la verdad lo que hace en realidad es dejar un hueco en la ventana....

Si añaden este codigo en un formualrio notarán que no se usan esas propiedades...mi problemas es que todos los controles que añado no se ven en modo de ejecucion....

raul338

Hola!

Lastima que no tengo el windows vista o 7 como para probar la transparencia, me hubiera gustado verla en accion  :-\

Supongo que el sub New esta dentro de un Formulario, y en .Net todo sub New en un formulario debe tener la llamada al metodo InitializeComponent() que es el que inicia y agrega todos los controles al formulario, cosa que en tu codigo no veo esa llamada.

Solo agrega "Call InitializeComponent()" como una linea mas (eso si, no se si debe ser como primera llamada, o luego de que fijes la transparencia, pero has pruebas jeje) y te deberian aparecer los controles.


Espero que te sirva!!!

genomma

Biien Exelente Raul...



se te agradece...me hacia falta al Sub...


Resuelto....





                                                                                           
     genomma