الدالة AnimateWindow
تستخدم لإجراء بعض الحركات على النافذة
هذه الدالة تستخدم الثوابت التالية
________________________________________________________________________________________
Const AW_HOR_POSITIVE = &H1 'تحريك النافذة من اليسار إلى اليمين. يمكن إستخدامه مع الإلتفاف أو الإنزلاق Const AW_HOR_NEGATIVE = &H2 'من اليمين إلى اليسار,يمكن إستخدامه مع الإلتفاف أو الإنزلاق Const AW_VER_POSITIVE = &H4 'منأعلى إلى أسفل,يمكن إستخدامه مع الإلتفاف أو الإنزلاق Const AW_VER_NEGATIVE = &H8 'من أسفل إلى أعلى, يمكن إستخدامه مع الإلتفاف أو الإنزلاق. Const AW_CENTER = &H10 'تجعل النافذة تغلق إلى الداخل إذا استخدمت AW_HID _ أو إلى الخارج إذا لم تستخدم ذلك الثابت Const AW_HIDE = &H10000 'إخفاء النافذة Const AW_ACTIVATE = &H20000 'تنشيط النافذة بعد التحريك Const AW_SLIDE = &H40000 'الحركة هي الإنزلاق Const AW_BLEND = &H80000 'إظهار تدريجي
________________________________________________________________________________________
وهذا هو التعريف:
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
________________________________________________________________________________________
وهذه بعض الاستخدامات لهذه الدالة
1- تستخدم لإظهار الشاشة تدريجياً
AnimateWindow Me.hwnd, 3000, AW_BLEND Or AW_CENTER Or AW_ACTIVATE
2- تستخدم لإخفاء الشاشة تدريجياً
AnimateWindow Me.hwnd, 3000, AW_BLEND Or AW_CENTER Or AW_HIDE
3- تستخدم لانزلاق النافذة لأعلى
AnimateWindow Me.hwnd, 3000, AW_SLIDE Or AW_VER_NEGATIVE Or AW_HIDE
4- لانزلاق النافذة لأسفل
AnimateWindow Me.hwnd, 2000, AW_SLIDE Or AW_VER_POSITIVE Or AW_HIDE
5- قفل النافذة إلى الداخل
AnimateWindow Me.hwnd, 2000, AW_CENTER Or AW_HIDE
6- إظهار النافذة من الداخل إلى الخارج
AnimateWindow Me.hwnd, 2000, AW_CENTER
وحاول استخدام الثوابت التي في الأعلى فيوجد الكثير من الحركات
ملاحظات:
- الرقم 3000 يعني تنفيذ الحركة في 3 ثواني
- بعض الحركات لا ترى إلا إذا كان البرنامج EXE فقط أي عند تنفيذ البرنامج من الفيجوال بيسك باستخدام F5 لا يمكنك رؤية الحركة
- عند تنفيذ الدالة في Form_Load يجب كتابة الأسطر النالية لإعادة رسم كل الأدوات التي في النافذة
Dim c As Control For Each c In Me.Controls c.Refresh Next c Me.Refresh