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
Usa el foro adecuado... este es para Basic 6 no .NET
Sección Programacion general sub-foro .net hay plantea tu duda.
Lo siento...Me voi a la sección correcta...
pero en vb.net los formularios no tienen una propiedad que es la transparencia de ventana??
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.
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....
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!!!
Biien Exelente Raul...
se te agradece...me hacia falta al Sub...
Resuelto....
genomma