mydisha
v1.1
today : | at : | safemode : ON
> / mydisha / facebook / twitter / hacker-newbie.org /
name author perms com modified label

[VB6] Membuat Gradient Warna Pada Form Inveet.id rwxr-xr-x 0 03.21

Filename [VB6] Membuat Gradient Warna Pada Form
Permission rw-r--r--
Author Inveet.id
Date and Time 03.21
Label
Action
nih gan ane mau share source code untuk membuat gradient pada form di vb 6

Gradient menurut ane itu adalah mencampurkan warna ... contoh nya kayak antivirus smadav yang pake gradient campuran warna hijau dan putih.

langsung aja kita masuk dan bahas code nya Bigsmile

===========================
Membuat Gradient Form Vb6
===========================

Buatlah sebuah project baru,lalu tambahkan 1 buah module
module nya di beri nama modGradient


Code:
Option Explicit

Declare Function GetSysColor Lib "user32" ( _
ByVal nIndex As Long) As Long

Sub CatForm(Obj As Object, Jenis As Integer, _
Color1 As Long, Color2 As Long)
    Dim Y!, X!
  
    Dim sngMerah!, sngHijau!, sngBiru As Single
    Dim Merah%, Hijau%, Biru%
    Dim Merah2%, Hijau2%, Biru2 As Integer
  
    Dim Temp As Long
  
    Obj.AutoRedraw = True

    Temp = (Color1 And 255)
    Merah = Temp And 255
      
    Temp = Int(Color1 / 256)
    Hijau = Temp And 255
      
    Temp = Int(Color1 / 65536)
    Biru = Temp And 255
      
    Temp = (Color2 And 255)
    Merah2 = Temp And 255
      
    Temp = Int(Color2 / 256)
    Hijau2 = Temp And 255
      
    Temp = Int(Color2 / 65536)
    Biru2 = Temp And 255
      
    If Jenis = 1 Then
        sngMerah = Abs(Merah - Merah2) / Obj.ScaleHeight
        sngHijau = Abs(Hijau - Hijau2) / Obj.ScaleHeight
        sngBiru = Abs(Biru - Biru2) / Obj.ScaleHeight
    Else
        sngMerah = Abs(Merah - Merah2) / (Obj.ScaleWidth)
        sngHijau = Abs(Hijau - Hijau2) / (Obj.ScaleWidth)
        sngBiru = Abs(Biru - Biru2) / (Obj.ScaleWidth)
    End If
      
    If Merah2 < Merah Then sngMerah = -sngMerah
    If Hijau2 < Hijau Then sngHijau = -sngHijau
    If Biru2 < Biru Then sngBiru = -sngBiru
      
    'Mulai mengcat form
    If Jenis = 1 Then
  
            'Arah gradient vertikal
        For Y = 0 To Obj.ScaleHeight
            Merah2 = Merah + sngMerah * Y
            Hijau2 = Hijau + sngHijau * Y
            Biru2 = Biru + sngBiru * Y
            Obj.Line (0, Y)-(Obj.Width, Y), _
            RGB(Merah2, Hijau2, Biru2)
        Next Y
    Else
            'Arah Gradient Horisontal
        For X = 0 To Obj.ScaleWidth
            Merah2 = Merah + sngMerah * X
            Hijau2 = Hijau + sngHijau * X
            Biru2 = Biru + sngBiru * X
            Obj.Line (X, 0)-(X, Obj.Height), _
            RGB(Merah2, Hijau2, Biru2)
        Next X
    End If
End Sub

lalu untuk menggunakan nya dapat menggunakan fungsi di bawah ini

Code:
CatForm Me, 0, &HC0C0C0, &H808080

*NB : code di atas berfungsi untuk mewarnai form secara Horizontal
dan mengambil warnanya berdasarkan nilai Hexa

Horizontal = 0
Vertical = 1


agar form dapat di buat gradient saat program di jalankan dapat menggunakan code di bawah ini

Code:
Private Sub Form_Load()
    CatForm Me, 0, &HC0C0C0, &H808080
End Sub

semoga berguna Bigsmile

0 komentar:

Posting Komentar

 

Jayalah Indonesiaku © 2010 Mydisha Note