PDA

View Full Version : اسکرین سیور ساده



M_P_1374
پنج شنبه 11 تیر 1388, 21:16 عصر
امروز یه سورس اسکرین سیور میذارم که با توابع سینوس و کسینوس نوشتم رو میذارم
برای تغییر قیافه اون اعداد رو تغییر بدین
یه دونه تایمر با اینتروال 50 بذارین روی فرم و از این کد استفاده کنید


Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40

Dim End2 As Boolean

Private Sub SetTopMost(frm As Form, ByVal blnMod As Boolean)
If blnMod Then
SetWindowPos frm.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos frm.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
CloseShape
End Sub

Private Sub RibbonShape(Color As OLE_COLOR, Radian As Integer)
Dim X As Single, Y As Single, tr As Single, r As Single, a As Single, t As Single

Randomize
a = Atn(5)
Scale (1.5, -1.5)-(-1.5, 1.5)

tr = 40 * Rnd

ForeColor = Color

For t = 0.001 To tr Step 0.001
r = a * Cos(Radian * (t / 2))
X = r * Cos(t * 2)
Y = r * Sin(t)
PSet (X, Y)
Next
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
CloseShape
End Sub

Private Sub Form_Resize()
Cls
End Sub

Private Sub Timer1_Timer()
RibbonShape RGB(Rnd * 256, Rnd * 256, Rnd * 256), 9
End Sub

Private Sub CloseShape()
Timer1.Enabled = False
Cls
'Character 'E'
ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 4000 To 9000
Line (1500, i)-(2000, i)
Next

ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 2000 To 4000
Line (i, 4000)-(i, 5000)
Line (i, 6000)-(i, 7000)
Line (i, 8000)-(i, 9000)
Next
'Character 'N'
ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 4000 To 8000
Line (i + 1500, i)-(i + 1500, i + 1000)
Next

ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 4000 To 9000
Line (5000, i)-(5500, i)
Next

ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 4000 To 9000
Line (9500, i)-(10000, i)
Next

'Character 'D'
ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 11000 To 12500
Line (i, 8500)-(i, 9000)
Line (i, 7000)-(i, 7500)
Next

ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 4000 To 9000
Line (13000, i)-(12500, i)
Next

ForeColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
For i = 7000 To 9000
Line (11000, i)-(11500, i)
Next
End
End Sub


برای تبدیلش به اسکرین سیور اونو توی قسمت کامپایل فایل یه .scr آخر اسم فایل اضافه کنید