Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Formulario en VB con fondo trasnparente y objeto flash

Estas en el tema de Formulario en VB con fondo trasnparente y objeto flash en el foro de Visual Basic clásico en Foros del Web. Holas, tengo un problema, me he pasado mucho tiempo buscando en la red algun codigo que funcione pero ninugno lo hace. Estoy buscando alguna manera ...
  #1 (permalink)  
Antiguo 01/07/2007, 20:05
Avatar de elias77  
Fecha de Ingreso: noviembre-2005
Ubicación: Buscame...
Mensajes: 1.051
Antigüedad: 18 años, 5 meses
Puntos: 11
Busqueda Formulario en VB con fondo trasnparente y objeto flash

Holas, tengo un problema, me he pasado mucho tiempo buscando en la red algun codigo que funcione pero ninugno lo hace. Estoy buscando alguna manera de hacer un formulario en VB con fondo transparente e insertarle un objeto en flash y tambien hacerle el fondo transparente. Hacer estas dos cosas por separado es facil, pero cuando pones un objeto flash con fondo transparente en un form con fondo transparente es donde aparece el problema. No hace transparente al fondo del flash.
Hay muchos codigos de formularios transparentes en internet pero ninguno que funcione con un objeto flash tambien con fondo transparente. Si algiuen tiene alguna data sobre esto o algun ejemplo o codigo que funcione se lo agradecere muchisimo ya que llevo bastante tiempo investigando sobre esto y nada funciona. (Uso VB 6)
__________________
You're face to face, with the man who sold the world - NIRVANA
Diese stadt ist eine Dirne, hat rote flecken auf der Stirn - RAMMSTEIN
  #2 (permalink)  
Antiguo 03/07/2007, 00:21
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Formulario en VB con fondo trasnparente y objeto flash

hola:

Este es un codigo que tengo podes aplicar como una mascara al form diciendole el color que queres que se haga transparente,tambien podes usar una imagen y el fondo del color que queres que se haga transparente entonces al ejecutarlo te queda recortada la imagen.bueno probalo y fijate que se hace todo trasparente menos los controles,entonces pone el objeto flash con la animacion en transparente y cuando lo ejecutas lo unico que queda visible es la animacion flash recortada en los bordes.antes ponele el fondo del formulario al rojo.

Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ReleaseCapture Lib "user32.dll" () As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Const LW_KEY = &H1
Const G_E = (-20)
Const W_E = &H80000

Private Sub Form_Load()
Skin Me, vbRed
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'para mover el form de cualquier parte
ReleaseCapture
SendMessage hWnd, 161, 2, 0
End Sub
Sub Skin(Frm As Form, Color As Long)
Frm.BackColor = Color
Dim Ret As Long
Ret = GetWindowLong(Frm.hWnd, G_E)
Ret = Ret Or W_E
SetWindowLong Frm.hWnd, G_E, Ret
SetLayeredWindowAttributes Frm.hWnd, Color, 0, LW_KEY
End Sub

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 03/07/2007, 08:47
Avatar de elias77  
Fecha de Ingreso: noviembre-2005
Ubicación: Buscame...
Mensajes: 1.051
Antigüedad: 18 años, 5 meses
Puntos: 11
Re: Formulario en VB con fondo trasnparente y objeto flash

Hola seba123neo el codigo funciona...pero el problema es que el obejo flash posee alpha...no es un transparente al 100%, es algo asi como un gris oscuro que se va haciendo transparente con alpha... entonces de esta forma no funciona, funciona solo para transparencias al 100%, no se si sabras de algun otro codigo o algo para que funcione, igualmente el codigo me gusto, lo voy a usar en otros casos como me dijiste de la imagen de fondo que queda recortada...y demas... Asi que bueno si saven alguna manera de mejorar el codigo o algo que funcione en transparencias con alphas...
__________________
You're face to face, with the man who sold the world - NIRVANA
Diese stadt ist eine Dirne, hat rote flecken auf der Stirn - RAMMSTEIN
  #4 (permalink)  
Antiguo 20/08/2010, 20:44
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Re: Formulario en VB con fondo trasnparente y objeto flash

Cita:
Iniciado por seba123neo Ver Mensaje
hola:

Este es un codigo que tengo podes aplicar como una mascara al form diciendole el color que queres que se haga transparente,tambien podes usar una imagen y el fondo del color que queres que se haga transparente entonces al ejecutarlo te queda recortada la imagen.bueno probalo y fijate que se hace todo trasparente menos los controles,entonces pone el objeto flash con la animacion en transparente y cuando lo ejecutas lo unico que queda visible es la animacion flash recortada en los bordes.antes ponele el fondo del formulario al rojo.

Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function ReleaseCapture Lib "user32.dll" () As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32.dll" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Const LW_KEY = &H1
Const G_E = (-20)
Const W_E = &H80000

Private Sub Form_Load()
Skin Me, vbRed
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'para mover el form de cualquier parte
ReleaseCapture
SendMessage hWnd, 161, 2, 0
End Sub
Sub Skin(Frm As Form, Color As Long)
Frm.BackColor = Color
Dim Ret As Long
Ret = GetWindowLong(Frm.hWnd, G_E)
Ret = Ret Or W_E
SetWindowLong Frm.hWnd, G_E, Ret
SetLayeredWindowAttributes Frm.hWnd, Color, 0, LW_KEY
End Sub

saludos.
hola como estan? bueno se q es tarde para este tema , pero no encuentro lo q quiero
queria preguntarles si se puede hacer al reves, osea q lo q se pone transparente es el cuadrado o rectangulo q aparece en el formulario
se entiende?
perdon por joder en este tema pero no encuentro como hacer ese codigo
espero q me puedan ayudar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:57.