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 نقط فكيف نحسب طول الخط ..... ؟؟!!
لحساب طول خط انظر الرسمه التاليه و الكود على الصورة و طبقه و افهمه لتفهم كل ما يخص حسابات الرسم على الفورم :
نتيجه المثال الموجود فى الصورة ستكون دائرة داخلها مربع يمسها فى 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"
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
تحميل المشروع حتى هذه النقطه MediaFire
==================================
مع تحياتى \ evry1falls
Google Me
♥ Visual Basic 6.0 Course Online :
- Automate MS-Access Database in Visual Basic 6.0 though a network
- Visual Basic 6.0 Analog Clock
- Visual Basic 6.0 Temperature Convertor
- Visual Basic 6.0, MS-Access 2003 and Crystal Reports - Phone book
- Visual Basic 6.0, MS-Access 2003 Database and DataGridView
- Visual Basic 6.0 FTP full application source code
- Visual Basic 6.0 Color Picker tool source code
- Visual Basic 6.0 Tree-View Control lesson (Part1 - Part 2 - Part3 - Part4 - Part5) Arabic.
- Visual Basic 6.0 - Introduction to Graphics (Part1 - Part2 - Part3)
- Visual Basic 6.0 and MS-Excel 2003 tutorials (Part1 - Part2 - Part3 - Part4 - Part5 - Part6)
Comments
Post a Comment
visual basic 6 source code says (Hi)