بسم الله الرحمن الرحيم
الموضوع :
ٍSkin The Form
§ ان طريقةعمل Skin للفورم Form قد تبدو للوهلة الاولي عمليه صعبه لبعض المبتدئين في عالم البرمجه لكنها في الحقيقه تحتاج فقط لاجترافيه لعمل وتصميم الرسومات التي سوف يتم استخدامها في الفورم وذلك في رايي الخاص يحتاج الي دقه في التعامل مع برامج الرسومات وايضا اختيار الالوان والتعامل معها بدقه شديده حتي يتم الوصول الي الشكل او الصوره الي سوف تظهر من خلال التطبيق او داخل الكود الخاص بالبرمجه.
§ كما تعلمون هناك الكثير من البرامج الخاصه بتصميم الجرافيكس واذكر منها علي سبيل المثال برنامج Ulead PhotoImpact وهو واحد من البرامج التي استخدمها في تصميم الجرافيكس او الصور بالاضافه الي برامج اخري شهيره وكلنا نعلمها جيدا.
§ بعد عمل الرسومات تاتي المرجله الاولي من البرمجه وهي تحويل الرسومات الي تطبيق Application يعمل تحت بيئة ويندوزمثلا.
ملحوظه هامه :
§ ان من الاهميه معرفة ابعاد (الطول والعرض) وايضا لون الخلفيه لكل الصور المستخدمه داخل الفورم او داخل WindowsApplicationForm وتسجيلها بعنايه شديده حتي يمكن استخدام مثل هذه البيانات داخل التطبيق المراد تصميمه Application Software .
اللغه المستخدمه :
§ الفيجوال بيسك
البرامج المستخدمه :
§ الفيجوال ستوديو 2008
§ ونفس المثال يمكن استخدامه مع الفيجوال ستوديو 2005
خطوات التنفيذ :
1. نقوم بفتح برنامج الفيجوال استوديو 2008 او 2005 واختيار تطبيق جديد New Project ثم نختار WindowsFormApplication من تحت الفيجوال بيسك Visual Basic
2. من قائمة Properties يتم تعديل بعض خواص الفورم مثل
§ تغيير حدود الفورم الخارجيه الي
FormBorderStyle = None
§ تغيير ابعاد الفورم الي الابعاد المقترحه هي نفس ابعاد الصوره المرفقه
Size = (285, 277)
§ تغيير خلفية اللون في الفورم الي
Backcolor = color.Magneta
§ تغيير مفتاح الشفافيه للفورم علي ان يطابق خلفية الفورم
TransperncyKey = Color.Magneta
3. يتم اضافة الكود المرفق بين بداية الكلاس ونهايته
Public Class Form 1
أضف الكود المرفق هنا
End Class
الكود المراد اضافته:
الكود يحتوي علي كود لتحريك الفورم ايضا
Dim _ImageSkin As New Bitmap(My.Resources.Resource1.all)
' Create an ImageAttributes object and set the color key.
Dim lowerColor As Color = Color.Magenta
Dim upperColor As Color = Color.Magenta
Dim attr As New System.Drawing.Imaging.ImageAttributes
Private MoveToNewPoint As New Point
Private frmDragg As Boolean = False
Private frmPointClicked As Point
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
frmDragg = True
frmPointClicked = New Point(e.X, e.Y)
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
If frmDragg Then
'Use the current mouse position to find the target location.
MoveToNewPoint = Me.PointToScreen(New Point(e.X, e.Y))
'Adjust the position based on where you started.
MoveToNewPoint.Offset(frmPointClicked.X * -1, _
(frmPointClicked.Y + SystemInformation.CaptionHeight + _
SystemInformation.BorderSize.Height) * -1)
'Move the form.
Me.Location = MoveToNewPoint
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
frmDragg = False
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
SkinRectangle(e)
End Sub
Public Sub SkinRectangle(ByVal e As PaintEventArgs)
Dim bmp As New Bitmap(_ImageSkin)
Dim g As Graphics = Graphics.FromImage(bmp)
' Set the transparency color key based on the upper-left pixel
' of the image (maneta color).
attr.SetColorKey(lowerColor, upperColor)
' Set the transparency color key based on a specified value.
attr.SetColorKey(Color.Magenta, Color.Magenta)
' Draw the image using the image attributes.
Dim dstRect As New Rectangle(0, 0, bmp.Width, bmp.Height)
e.Graphics.DrawImage(bmp, dstRect, 0, 0, bmp.Width, bmp.Height, _
GraphicsUnit.Pixel, attr)
End Sub
ملحوظه هامه
يجب اضافة الصوره المرفقه الي ملف يتم اضافته للبرنامج وهو ملف Rescources File
أخوكم عمر