بسم الله الرحمن الرحيم
ملاحظة: البرنامج يعمل على الـ Microsoft Visual Basic 2005 Express Edition
لمن يريد تحويل للـ 2003 يجب إضافة الملف الخاص بالفورم ومن ثم إضافة الصور إلى ملف الريسورس
أولاً : نقوم بعمل مجموع من الصور وتلوين جميع المناطق التي لا نريد إضهارها في لون وح في جميع الصور
ثانياً: نقوم بإسناد قيم ذلك اللون إلى الخاصية التابعى للفورم وهي TransparencyKey كالتالي:
MyForm.TransparencyKey =Color 'اللون الذي نريد إستثنائه
ونقوم بعد ذلك بتحريك الصور مثلاً أن نضع تايمر وبالحدث التابع له نقوم بتغير صورة الفورم لتحمل الصورة الجديدة
أنا قمت في هذا المثال في وضع جميع الصور داخل ملف الريسورس وفي حدث التايمر كتبة الكود التالي:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.BackgroundImage = m_ResourceManager.GetObject("G" + m_LastIndex.ToString())
m_LastIndex += 1
If m_LastIndex = 38 Then
m_LastIndex = 1
End If
End Subوفي حدث OnKeyDown قمت بختبار ضغطات الكيبورد ليتم التفاعل مع الميتخدم من إيقاف أو تشغيل أو إنهاء البرنامج
Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs) If e.Control And e.KeyCode = Keys.S Then Timer1.Stop() ElseIf e.Control And e.KeyCode = Keys.P Then Timer1.Start() ElseIf e.Control And e.KeyCode = Keys.X Then Environment.Exit(0) End If MyBase.OnKeyDown(e) End Sub
وبما أني قمت بضبط جميع خصائص الإضهار للفورم لكي لا يتمكن المستخدم من تغير الحجم أحتجنا لوضع بعض الكود الإضافي لعملية تحريك النافذة إذا قام المستخدم بالضغط على سطح النافذة:
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) Const WM_NCHITTEST As Integer = &H84 Const HTCLIENT As Integer = 1 Const HTCAPTION As Integer = 2 Select Case m.Msg Case WM_NCHITTEST Dim msg As Message = Message.Create(m.HWnd, m.Msg, m.WParam, m.LParam) DefWndProc(msg) Select Case msg.Result.ToInt32() Case HTCLIENT 'Dim pt As Point = PointToClient(New Point(m.LParam.ToInt32())) 'If Region.IsVisible(pt) Then ' m.Result = New IntPtr(HTCAPTION) 'End If m.Result = New IntPtr(HTCAPTION) Return End Select End Select MyBase.WndProc(m) End Sub
البرنامج كامل في المرفقات
أتمنى لكم التوفيق


![29_09_05_02_32_59_1128029579_4_13_3[_].gif](http://www.arabteam2000.com/picload/pics/29_09_05_02_32_59_1128029579_4_13_3%5B_%5D.gif)
