Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: xmbeat en Febrero 01, 2010, 08:38:40 pm

Título: Efecto degradado en Forms y Picture (CODE)
Publicado por: xmbeat en Febrero 01, 2010, 08:38:40 pm
Bueno este es un code que hice hace tiempo para hacer degradado de un Color a otro. es el que uso todavia en mis controles de usuario y demas, se que leandro hizo algo muy parecido a esto pero de cualquier forma lo pongo para que lo tengan.

Código: [Seleccionar]
'By xmbeat
Private Function Color(Col As Long) As Integer()
Const B As Long = 65536 'constante que es el resultado de 256 al Cuadrado
Const G As Long = 256
Dim elRGB(2) As Integer
Col = Abs(Col)
elRGB(0) = Col \ B
elRGB(1) = (Col Mod B) \ G
elRGB(2) = (Col Mod B) Mod G
Color = elRGB
End Function

Sub Gradient(Formulario As Object, Inicio As OLE_COLOR, Final As OLE_COLOR, Optional Min As Long = 0, Optional _
Max As Long = 256)
With Formulario
.AutoRedraw = True

Dim I As Integer
Dim Ini() As Integer
Dim Fin() As Integer
Dim Dif As Double
Dim Ant As Long
Dim R As Double, G As Double, B As Double

On Error Resume Next
Ant = .ScaleHeight
.ScaleHeight = 256
Ini = Color(Inicio)
Fin = Color(Final)
Dif = Max - Min

R = Ini(0): G = Ini(1): B = Ini(2)

For I = Min To Max
R = R + ((Fin(0) - Ini(0)) / Dif)
G = G + ((Fin(1) - Ini(1)) / Dif)
B = B + ((Fin(2) - Ini(2)) / Dif)
Formulario.Line (0, I)-(.ScaleWidth, I + 1), RGB(R, G, B), BF

Next I

.ScaleHeight = Ant
End With
End Sub



Private Sub Form_Resize()
Gradient Me, RGB(150, 150, 150), vbBlack, , 128
Gradient Me, vbBlack, RGB(50, 50, 50), 128
End Sub

Título: Re:Efecto degradado en Forms y Picture (CODE)
Publicado por: ssccaann43 en Febrero 01, 2010, 10:48:16 pm
Buen aporte xmbeat...!