PDA

View Full Version : قابل توجه کسانی که نرم افزارهای مولتی مدیا کار کرده اند



مطهر
سه شنبه 02 دی 1382, 00:17 صبح
سلام
چگونه موس را به صورت اتوماتیک بر روی فرم حرکت دهم . (این حرکت را برای نرم افزار آموزشی می خواهم)
ضمنا کسی یه کامپوننت برای جلوه های هایی که در نرم افزار های آموزشی به چشم می خورد را ندارد .
اگر در این زمینه برنامه ویا حتی یک خط کد هم دارید دریغ نفرمایید .
با سپاس فراوان

jannati
سه شنبه 02 دی 1382, 08:34 صبح
با سلام
به نظر من بهتره از حرکت موس فیلم بگیرید و بعد اونو در vb نمایش دهید.این فیلم را میتونید با camtasiaیا lotusبگیرید.خیلی راحتتر از برنامه نویسی است.

Farhad.B.S
سه شنبه 02 دی 1382, 15:06 عصر
در مورد سوال اولتون بهتره از این API استفاده کنید -> SetCursorPos ، کد زیر رو ببینید :




Private Declare Function SetCursorPos Lib "user32.dll" (ByVal X As Long, ByVal y As Long) As Long
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Sub Go()
Dim y As Long, Y1 As Long, Y2 As Long
Dim X As Long, X1 As Long, X2 As Long

X1 = Line1.X1
X2 = Line1.X2
Y1 = Line1.Y1
Y2 = Line1.Y2

For X = Line1.X1 To Line1.X2 Step 1 'Change Step to -1 for countdown moving
y = (((Y2 - Y1) / (X2 - X1)) * (X - X1)) + Y1
SetCursorPos X, y
Sleep (10)
Next X

End Sub



تو این کد شما با فراخوانی پروسیجر Go ، کورسر رو از ابتدای Line1 به انتهای اون میرسونید ، البته با یه حرکت تقریبا نرم (البته برای حرکت های از پایین به بالا).
در صورتی که لازمه حرکتتون از بالا به پایین باشه ، تو اون حلقه استپ رو به -1 تبدیل کنید.
برای تغییر سرعت هم میتونید آرگومان ارسال شده به تابع Sleep رو تغییر بدید.