Bikin Form Bulat Dengan Efek Taburan Bintang

Yeey  akh bikin form dengan sedikit efek yukk akhhh ::::
berikut adalah langkah-langkahnya dan juga souce code nya !
OO lihat dulu Hasil prin screen nya ??? Yupss lihat saja gambar di bawah ini ?



tuh dah ada mari
di telaah saja hehe .....  
berikut adalah source code nya :
tinggal di copas aja cuman saya harap anda sedikit teliti !!!

Dim X(100), Y(100), Z(100) As Integer
   Dim tmpX(100), tmpY(100), tmpZ(100) As Integer
   Dim K As Integer
   Dim Zoom As Integer
   Dim Speed As Integer

Private Sub Form_Activate()
Speed = -1
       K = 2038
      Zoom = 256
      Timer1.Interval = 1
     For i = 0 To 100
          X(i) = Int(Rnd * 1024) - 512
         Y(i) = Int(Rnd * 1024) - 512
         Z(i) = Int(Rnd * 512) - 256
     Next i
End Sub
Private Sub Form_Load()
Dim lReturn As Long
Form1.Show
lReturn = SetWindowRgn(hWnd, CreateEllipticRgn(20, 30, 220, 250), True)
End Sub
Private Sub Timer1_Timer()
For i = 0 To 100
          Circle (tmpX(i), tmpY(i)), 5, BackColor
          Z(i) = Z(i) + Speed
         If Z(i) > 255 Then Z(i) = -255
          If Z(i) < -255 Then Z(i) = 255
          tmpZ(i) = Z(i) + Zoom
          tmpX(i) = (X(i) * K / tmpZ(i)) + (Form1.Width / 2)
          tmpY(i) = (Y(i) * K / tmpZ(i)) + (Form1.Height / 2)
          Radius = 1
          StarColor = 256 - Z(i)
          Circle (tmpX(i), tmpY(i)), 5, RGB(StarColor, StarColor, StarColor)
      Next i
End Sub

dan jangan lupa tambahkan sebuah module !!!
lalu letakan souce code berikut pada module tersebut :
Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

selesai tinggal di priview aja okkk : semoga bermanfaat !!!

No comments:

Post a Comment