CORES CORES CORES

CRANIOGRANDE 04/07/2007 22:22:40
#224698
GENTE, URGENTE POR FAVOR... VOU EXPLICAR:

EU TENHO QUE SELECIONAR DUAS CORES, E COM ELAS FAZER UM DEGRADE EM UM SHAPE OU EM UM FORM, E NÃO TENHO IDéIA DE COMO EU POSSO FAZER AS CONTAS E NEM SEI POR ONDE COMEÇAR... SE ALGUEM MANJA DESSE ASSUNTO POR FAVOR ME AJUDEM, E SE NÃO FOR PEDIR DEMAIS, SEM USAR API'S...

é URGENTISSIMO PESSOAL, DESDE JÁ AGRADEÇO A ATENÇÃO!
DREAMSOFT 04/07/2007 22:47:01
#224702
Resposta escolhida
Fala querido, tudo bom? E aquele negócio da Av. Paulista como ficou?

Testa esse código aí por gentileza:

Private Sub Form_Load()
Degrade Me
End Sub


Coloque isso em um Módulo

Public Sub Degrade(Obj As Object, Optional Cor1 As Long = -1, Optional Cor2 As Long = vbWhite)


If Cor1 = -1 Then
Cor1 = vbWhite
Cor2 = vbBlack
End If

Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim R2 As Integer
Dim G2 As Integer
Dim B2 As Integer
Dim Col As Integer
Dim ValueRed As Integer
Dim ValueGreen As Integer
Dim ValueBlue As Integer
Obj.Cls
On Error Resume Next
Obj.AutoRedraw = True
Obj.DrawStyle = vbInsideSolid
Obj.DrawMode = vbCopyPen
Obj.ScaleMode = vbPixels
Obj.DrawWidth = 10
Obj.ScaleHeight = 58

Col = (Cor1 And 255)
R = Col And 255
Col = Int(Cor1 / 256)
G = Col And 255
Col = Int(Cor1 / 65536)
B = Col And 255
Col = (Cor2 And 255)
R2 = Col And 255
Col = Int(Cor2 / 256)
G2 = Col And 255
Col = Int(Cor2 / 65536)
B2 = Col And 255
ValueRed = Abs(R - R2) / Obj.ScaleHeight
ValueGreen = Abs(G - G2) / Obj.ScaleHeight
ValueBlue = Abs(B - B2) / Obj.ScaleHeight
If R2 < R Then ValueRed = -ValueRed
If G2 < G Then ValueGreen = -ValueGreen
If B2 < B Then ValueBlue = -ValueBlue


For Y = 0 To Obj.ScaleHeight
R2 = R + ValueRed * Y
G2 = G + ValueGreen * Y
B2 = B + ValueBlue * Y
Obj.Line (0, Y)-(Obj.ScaleWidth, Y), RGB(R2, G2, B2)
Next Y
Obj.AutoRedraw = False
End Sub

[/c]

CRANIOGRANDE 05/07/2007 13:23:08
#224819
Cara Valeu pela resposta.. sobre aquele negócio da av. paulista estou na empresa a 4 dias por isso não estou no MSN... e estou aproveitando a HOra de folga para acessar a NET :D

Obrigado pela ajuda mlkão, tenha uma Boa Tarde ae :D
Tópico encerrado , respostas não são mais permitidas