elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda formulario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda formulario  (Leído 2,157 veces)
Dark Baxter

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Ayuda formulario
« en: 8 Abril 2015, 06:45 am »

Buenas gente

Les queria preguntar una cosita, estoy seguro que me podran ayudar...

Estoy armando algo simple en vb6.0 y me gustaria poner un formulario sin el fondo, osea que si pongo un boton se vea "en el aire" y detras se muestre lo que hay de fondo...ya sea el escritorio o lo que tenga detras del form...

se entendio?  ::)

saludos y gracias.


En línea

Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: Ayuda formulario
« Respuesta #1 en: 9 Abril 2015, 08:27 am »

http://www.vbforums.com/showthread.php?413218-VB6-Glass-Form

Un efecto Glass (por cierto, muy bueno) para lograr lo que pides.

Saludos.


En línea

Namasté, criatura.
okik


Desconectado Desconectado

Mensajes: 462


Ver Perfil
Re: Ayuda formulario
« Respuesta #2 en: 9 Abril 2015, 14:31 pm »

Hola,
Este sencillo código sirve para transparentar totalmente un color determiando ya sea del formulario o de un objeto cualquiera que esté dentro del formulario. He establecido la propiedad Backcolor del formulario  a vbRed y por lo tanto toda la parte interna del formulario se verá transparente al 100%. He utilizado el Rojo pero puedes usar cualquier color.


Código
  1.    Option Explicit
  2.  
  3. Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  4. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  5. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  6.  
  7. Private Const GWL_EXSTYLE = (-20)
  8. Private Const WS_EX_LAYERED = &H80000
  9. Public Function TransparentarColor(ByVal hwnd As Long, Color As Long) As Long
  10. On Error Resume Next
  11.       SetWindowLong hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
  12.       SetLayeredWindowAttributes hwnd, Color, 0, &H1
  13. End Function
  14.  
  15. Private Sub Form_Load()
  16. Me.BackColor = vbRed
  17. Call TransparentarColor(Me.hwnd, vbRed)
  18. End Sub
  19.  
  20.  







Añado este código de más como muestra de la utilidad que tiene el código para crear formularios personalizados.








Código
  1.    Option Explicit
  2. 'Mover formulario sin barra
  3. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  4. Private Declare Function ReleaseCapture Lib "user32" () As Long
  5. Const WM_NCLBUTTONDOWN = &HA1
  6. Const HTCAPTION = 2
  7.  
  8.  
  9. Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
  10. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  11. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  12.  
  13. Private Const GWL_EXSTYLE = (-20)
  14. Private Const WS_EX_LAYERED = &H80000
  15. Public Function TransparentarColor(ByVal hwnd As Long, Color As Long) As Long
  16. On Error Resume Next
  17.       SetWindowLong hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED
  18.       SetLayeredWindowAttributes hwnd, Color, 0, &H1
  19. End Function
  20.  
  21. Private Sub Form_Load()
  22. Me.BackColor = vbRed
  23.  
  24. Call TransparentarColor(Me.hwnd, vbRed)
  25. End Sub
  26.  
  27.  
  28. Private Sub Command1_Click()
  29. Unload Me
  30. End Sub
  31. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  32. Dim Z As Long
  33. If Button = 1 Then
  34. ReleaseCapture
  35. Z = SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
  36. End If
  37. End Sub

Y el proyecto lo puedes descargar aquí.
Form_Personalized.zip
« Última modificación: 13 Octubre 2016, 20:25 pm por okik » En línea

Dark Baxter

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda formulario
« Respuesta #3 en: 11 Abril 2015, 23:49 pm »

Muchas gracias okik por tomarte el tiempo y dejarme esos codes!

Ya logre solucionarlo gracias a ustedes..

Saludos y gracias!.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines