Visual Basic Online Course - Graphics Part 3

بسم الله الرحمن الرحيم

و ندرس فى هذا الموضوع ان شاء الله


طريقة الرسم Circle أو الدائرة

طريقة الدائــــــــرة تمكنك ليس فقط من رسم الددائرة و لكن ايضا نمكنك من رسم (دوائر - اشكال بيضاية - أقواس - منحنيات) و لكننا سنتناول فقط رسم الدائرة و اذا كان لديك أى استفسار عن طريقة رسم أى شكل يمكنك التعليق على الموضوع أو الاشتراك فى صفحة الموقع على FaceBook .
معادلة رسم الدائرة أو الكود :
ObjectName.Circle(X,Y),R,Color

و المثال التالى سقوم برسم دائرة فى احداثيات الفورم (X,Y) فى الوسط بنصف قطر R و لون Color .... يمكنك التعديل على المثال السابق فى درس Lines أو بدأ مشروع جديد .
Me.Circle (Me.ScaleWidth / 2, Me.ScaleHeight / 2), (Me.ScaleWidth - Me.ScaleHeight) / 2, vbBlack


حيث :
X = Me.ScaleWidth / 2


البداية من النقطه X = عرض الفورم بدون الحدود الـ 3D / 2


Y = Me.ScaleHeight / 2
البداية من النقطه Y = طول الفورم بدون الحدود الـ 3D / 2
R = (Me.ScaleWidth - Me.ScaleHeight) / 2
نصف القطر = ( الطول بدون الحدود - العرض بدون الحدود ) / 2
Color = vbBlack
انظر الرسم التوضيحى التالى "اذا استوعبتها تكون قج استوعبت كل الـ Graphics"
شكل توضيحى
 و بالتالى فان الدائرة مرسومه فى منتصف الفورم (مكان الرسم) حيث لم نقم بأخذ حدود الفورم فى الحسبان, و يمكنك تجربة رسم دائرة أخرى باستخدام (Width , Height) بدلا من استخدام (ScaleWidth , ScaleHeigt) و لاحظ الفرق .
و هناك تطبيق اخر :
ارسم دائرة Circle فى منتصف الفورم و ارسم نصف قطرها Radius .....
سيكون نصف قطر الدائرة عبارة عن
(Me.ScaleWidth - Me.ScaleHeight) / 2
رسم الدائرة فى المنتصف سيكون كالتالى :


Me.Circle (Me.ScaleWidth / 2, Me.ScaleHeight / 2), (Me.ScaleWidth - Me.ScaleHeight) / 2, vbBlack
رسم نصف القطر سيكون كالتالى :
Line (Me.ScaleWidth / 2, Me.ScaleHeight / 2) - (ScaleWidth / 2, ScaleWidth / 2), vbGreen
قم بتطبيق هذا المثال السابق على أى فورم بأى احداثيات (طول - عرض) و ستكون النتيجه واحده كما فى الصورة التاليه :
Circle & Radius


ملحوظه هامه :
الخط Line هو عباره عن نقتطين على الفورم من(x1,y1) الى (x2,y2) و بالتالى طول الخط يساوى المسافه بين نقتطين و لكن هنا يوجد 4 نقط فكيف نحسب طول الخط ..... ؟؟!!
لحساب طول خط انظر الرسمه التاليه و الكود على الصورة و طبقه و افهمه لتفهم كل ما يخص حسابات الرسم على الفورم :
Graphics in Visual Basic
VB 6.0 - Graphics Understanding
نتيجه المثال الموجود فى الصورة ستكون دائرة داخلها مربع يمسها فى 4 نقاط و نصف القطر = أى ضلع من ضلوع المربع و فى الصورة شرح لاحداثيات الفورم مع رسم تقريبى ليس دقيق على رسم الدائرة و المستطيل و الخط ....
- الان ننتقل الى موضوع أخر ...... على الرغم من أن الموضوع السابق فيه كلام كثير جدا و لكن يحتاج لأيام من الشرح و يمكنك البحث أو السؤال عن أى نقطه خاصه بموضوع معين فى الرسم على الفورم فى أى وقت ... و لكن لنكمل الان شرح الخطوط العريضه .



طريقه الطباعه على الفورم Print

ماذا تفعل اذا اردت الكتابه على الفورم بدون Labels أو TextBoxes على Form أو PictureBox بمعنى انك ستطبع على الفورم نص معين و ذلك سيكون باستخدام طريقة Print أو Print Method و الكود كالتالى :
ObjectName.Print [Info To Print]
و الـ Info To Print أو الغرض المراد طباعته يكون اما (نص - متغير - تركيبه ارقام و حروف) و اذا لم يوضع ObjectName فتتم الطباعه على الـ Form .
و يكون النص المراد طباعته فى المكان CurrentX و CurrentY اى الـ X-Y الحاليين بلون طباعه المستخدم على الفورم فى خاصية ForeColor و بالخط المخصص Font للفورم نفسها .
مثال :
قم بانشاء مشروع جديد أو بالتجربة على نفس المشروع الحالى و لا تنسى ان خاصية AutoDraw للفورم المستخدمه يجب ان تساوى True أو ضع اكوادك فى الحدث Form_Paint ..
CurrentX = 1000
CurrentY = 1000
Print "Here is the Info To Print"
لاحظ انه فى مثالى استخدمت نوع خط Times New Roman حجمه 12 و الـ ForeColor للفورم هو White ابيض .
قم بتجربة المثال و لاحظ النتيجه و قم بتغيير مكان الاحداثيات X-Y لتحصل على نتيجه مختلفه .

لكى تقوم بمسح الفورم من جميع الرسومات و الطباعه المستخدمه عليها قم باضافة Command1 الى الفورم و فى الحدث Command1_Click اكتب الكود التالى :
ObjectName.CLS
حيث ObjectName هو الفورم Form اذا لم يكتب شىء اخر مثلا كــ PictureBox الفيجوال بيزك يفترض ان ObjectName هى الفورم الحاليه .
..
...
....
.....
الى هنا نأتى لختام الدرس الحالى و الى لقاء فى الجزء القادم ان شاء الله تعالى فى درس ( الالـــــــــوان ) و استخدامها و تركيبها و كيفية استعمالها على الفورم .... تابعونا .
تحميل المشروع حتى هذه النقطه MediaFire
==================================
مع تحياتى \ evry1falls

Comments

VB6 Popular Posts

Visual Basic Online Course - Excel 2003 Part 1

VB 6.0 Crystal Report With MS-Access 2003 - PassWord Problem

Visual Basic Online Course - Analog Clock in VB6