Hola amigos del foro, les paso a consultar, si existe alguna forma de hacer un form con las esquinas redondeadas, osea q no termine en punta.
Mi segunda pregunta es, hay forma de hacer un form transparecte con un 30% de trasnparencia y q por ejemplo el textbox q esta en ese form no sea transparente.
Espero aver sido claro..
Saludos y espero de su ayuda. :rolleyes:
En VB6 hay TransparencyKey ?
Cita de: Hadess_inf en 1 Septiembre 2010, 22:53 PM
En VB6 hay TransparencyKey ?
Si he visto en proyectos de LeandroA pero no logro entenderlos... y las puntas redondeadas tmb lo he visto... por eso pido ayuda aver si alguien puede ayudarme con este problemita
Saludos
'Fuente Recursosvb (no encuentro el link)
Option Explicit
' Crea la región
Private Declare Function CreateRoundRectRgn Lib "gdi32" ( _
ByVal X1 As Long, _
ByVal Y1 As Long, _
ByVal X2 As Long, _
ByVal Y2 As Long, _
ByVal X3 As Long, _
ByVal Y3 As Long) As Long
'Establece la región
Private Declare Function SetWindowRgn Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hRgn As Long, _
ByVal bRedraw As Boolean) As Long
Private Sub Redondear_Formulario(El_Form As Form, Radio As Long)
Dim Region As Long
Dim ret As Long
Dim Ancho As Long
Dim Alto As Long
'Obtenemos el ancho y alto de la region del Form
Ancho = El_Form.Width / Screen.TwipsPerPixelX
Alto = El_Form.Height / Screen.TwipsPerPixelY
'Le pasamos el ancho alto del formualrio y el valor de _
redondeo es decir el radio
Region = CreateRoundRectRgn(0, 0, Ancho, Alto, Radio, Radio)
' Aplica la región al formulario
ret = SetWindowRgn(El_Form.hwnd, Region, True)
End Sub
Private Sub Form_Load()
Call Redondear_Formulario(Me, 10)
End Sub
Cita de: e500 en 1 Septiembre 2010, 22:50 PM
Mi segunda pregunta es, hay forma de hacer un form transparecte con un 30% de trasnparencia y q por ejemplo el textbox q esta en ese form no sea transparente.
Fijate si esto puede servir,
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
Muchas Gracias a TODOS :D
Saludos
[SNIPPET] "Puntas Redondeadas en un form"
Option Explicit
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sub Form_Load()
Call SetWindowRgn(Me.hwnd, CreateRoundRectRgn(0, 0, Me.Width / 15, Me.Height / 15, 10, 10), True)
End Sub
Saludos
Cita de: Dessa en 3 Septiembre 2010, 02:27 AM
[SNIPPET] "Puntas Redondeadas en un form"
Option Explicit
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sub Form_Load()
Call SetWindowRgn(Me.hwnd, CreateRoundRectRgn(0, 0, Me.Width / 15, Me.Height / 15, 10, 10), True)
End Sub
Saludos
Barbaro, code cortito y efectivo, estaría barbaro q exita algo así pero para la transparencia del form, y no de los controles...
Saludos :) y muchas gracias a todos
Aca te dejo un ejemplo de transparencia del form:
http://www.filefront.com/17305063/Form Transparente.rar
Y si queres transparencia del form pero no de los controles lo que tengo es un codigo per ohace dasaparecer el form y te deja visible los controles... Si lo queres avisa y te lo pongo...
Espero que te sirva...
Salu2
Ranslsad
Cita de: ranslsad en 20 Septiembre 2010, 11:57 AM
Aca te dejo un ejemplo de transparencia del form:
http://www.filefront.com/17305063/Form Transparente.rar
Y si queres transparencia del form pero no de los controles lo que tengo es un codigo per ohace dasaparecer el form y te deja visible los controles... Si lo queres avisa y te lo pongo...
Espero que te sirva...
Salu2
Ranslsad
Gracias :D
Saludos
Cita de: Dessa en 3 Septiembre 2010, 02:27 AM
[SNIPPET] "Puntas Redondeadas en un form"
Option Explicit
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sub Form_Load()
Call SetWindowRgn(Me.hwnd, CreateRoundRectRgn(0, 0, Me.Width / 15, Me.Height / 15, 10, 10), True)
End Sub
Saludos
Cabe decir que el 15 es lo que equivale a un Twin es decir
15 Twin = 1 pixel
Por lo dicho se debera de espesificar esto, o tomar las dimensiones con GetWindowRect... para evitar errores
Otra cosa
Si, se llegase a cambiar la resolución la clase
Screen NO ACTUALIZA los valores
Width y
Height del mismo, habra que usar APIS!¡.
Dulces Lunas!¡.
Particularmente uso esto en para formularios simples, sin Bordes o con borde transparente , vale la aclaracion de BlackZeroX
http://www.megaupload.com/?d=819VEP1W (http://www.megaupload.com/?d=819VEP1W)
(http://img139.imageshack.us/img139/9827/forms.jpg)
@Dessa te pasaste!!! gracias es eso lo que quería!!!!
Saludos
Cita de: BlackZeroX en 22 Septiembre 2010, 06:37 AM
Cabe decir que el 15 es lo que equivale a un Twin es decir
15 Twin = 1 pixel
aclaro que la medida es
Twip y no
Twin (gemelo en ingles)
Twip (http://es.wikipedia.org/wiki/Twip)