Anasayfa > Kodlar > Api örneği

Api örneği


API Örneği

Visual basic'te iki tane API kullanılarak yapılmış bir SPLASH form örneğidir. Program çalıştırıldığı anda yıldız şeklinde ve dönen bir form elde ediliyor. Programı tasarımı esnasında yeni bir visual basic projesi açın. Yeni projedeki form1 'in adını yani name özelliğini SPLASH olarak değiştirin. Formun üzerine bir tane timer ekleyiniz.Daha sonra kod penceresine giderek formun general declaretion kısmına aşağıdaki kodları ekleyiniz.

 


Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long,
ByVal bRedraw As Boolean) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long,
ByVal nPolyFillMode As Long)
As Long
Private Type POINTAPI
X As Long
Y As Long
End Type 

Dim xx, yy

Daha sonra ise aşağıdaki kodları aynen yazınız.

 


Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then xx = X: yy = Y: Timer1.Enabled = False
End Sub 

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
SPLASH.Move SPLASH.Left + (X - xx), SPLASH.Top + (Y - yy)
End If
End Sub

Sub YILDIZ()
On Error GoTo hata:
Static Q
Dim deger, pi, k, radyan, xx(40) As POINTAPI, SONUC As Long, Z
pi = Atn(1) * 4:
For c = 0 To 185 Step 5
radyan = Q * 180 / pi
xx(Z).X = (Me.ScaleWidth / 2 + Cos(radyan) * Me.ScaleWidth / 2)
xx(Z).Y = (Me.ScaleHeight / 2 + Sin(radyan) * Me.ScaleHeight / 2)
Q = Q + 5: Z = Z + 1
Next
SONUC = CreatePolygonRgn(xx(0), 38, WINDING)
SONUC = SetWindowRgn(SPLASH.hWnd, SONUC, True)
Exit Sub
hata:
Q = 0
End Sub

Sub içyıldız()
SPLASH.Show
SPLASH.DrawWidth = 2
r1 = Int(Rnd * 250) + 2: r2 = Int(Rnd * 250) + 4
r3 = Int(Rnd * 250) + 6: a1 = 2: a2 = 4: a3 = 6
pi = Atn(1) * 4
For c = 360 To 0 Step -0.5
If r1 <= 3 Or r1 > 255 Then a1 = -a1
If r2 <= 5 Or r2 > 255 Then a2 = -a2
If r3 <= 7 Or r3 > 255 Then a3 = -a3
r1 = r1 + a1: r2 = r2 + a2: r3 = r3 + a3
radyan = c * pi / 180
a = (Me.ScaleWidth / 2 + Cos(radyan) * Me.ScaleWidth / 2)
b = (Me.ScaleHeight / 2 + Sin(radyan) * Me.ScaleHeight / 2)
a5 = (Me.ScaleWidth / 2 + Cos(radyan) * ((Me.ScaleWidth / 2) - (Me.ScaleWidth / 10)))
b5 = (Me.ScaleHeight / 2 + Sin(radyan) * ((Me.ScaleHeight / 2) - (Me.ScaleHeight / 10)))
SPLASH.Line (ScaleWidth / 2, ScaleHeight / 2)-(a5, b5), RGB(r1, r2, r3)
Next
End Sub

Sub dışyıldız()
SPLASH.DrawWidth = 2
r1 = Int(Rnd * 250) + 2: r2 = Int(Rnd * 250) + 4
r3 = Int(Rnd * 250) + 6: a1 = 2: a2 = 4: a3 = 6
pi = Atn(1) * 4
For c = 0 To 360 Step 0.5
If r1 <= 3 Or r1 > 255 Then a1 = -a1
If r2 <= 5 Or r2 > 255 Then a2 = -a2
If r3 <= 7 Or r3 > 255 Then a3 = -a3
r1 = r1 + a1: r2 = r2

  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: