السلام عليكم ورحمة الله وبركاته
سنتعلم في هذا الدرس بإذن الله كيفية عمل قائمة خاصة بالجرافيكس :
قم بفتح برنامج Microsoft Visual C ++ .o
File -> new
فتظهر لنا هذه الصورة 1:
بعدين كما في الصورة 2:
ثم نضغط Next للموافقة على باقي الخيارات ثم تضغط على finish .
فتظهر لنا الصورة 3 : نختار منها Resource View ومنها نختار IDR_MAINFRAME
ستظهر لنا نافذة بها مجموعة من القوائم والآن سنقوم بإضافة قائمة جديدة نطلق عليها اسم Graphics تحتوي على أوامر لرسم الخط ورسم المستطيل ورسم الدائرة وأمر المسح . ولإضافة القائمة قم بالضغط على المربع المنقط ضغطتين متتالين ثم اكتب ما تريد ..كما في الصورة 4:
بعد انتهائنا من إدراج القائمة سنقوم بكتابة الأوامر :
اضغط مفتاحي Ctrl+w لعرض مربع Class Wizard
ومن قائمة Object IDs نختار ID_GRAPHICS_LINEثم نختار Command ثم ADD Function ثم OK
قمنا بتحديد الكلمة Line ولإضافة الأمر له نقوم بالضغط على Edit Code
ثم نكتب هذا الكود :
void CMainFrame::OnGraphicsLine()
{
// TODO: Add your command handler code here
int i;
CDC*PDC = GetDC();
for(i=0;iMoveTo(-100,-200);
PDC->LineTo(300,400);
}
}
شرح الكود :
قمنا بتعريف متغير أسمه PDC من النوع CDC وهو متغير يذهب بنا إلي شاشة الرسم وذلك نتيجة العمل بوظيفة الأمر GetDC
حددنا نقطة البداية في الإحداثيات (-100,-200) ونقطة النهاية في الإحداثيات (300,400)
قمنا بتكرار الأمر 100 مرة .
ولتجربة الكود السابق قم بالضغط على مفتاحي Ctrl+F5.
رسم المستطيل :
ولإضافة أمر رسم المستطيل نقوم بالخطوات السابقة ونختار من Object IDs المستطيل وهو Rectangle. ثم نضيف الكود التالي :
void CMainFrame::OnGraphicsRectangle()
{
// TODO: Add your command handler code here
int i ;
CDC*PDC = GetDC();
PDC->MoveTo(10,300);
PDC->Rectangle(100,100,200,200);
}
فتكون النتيجة :
رسم الدائرة :
ولإضافة أمر رسم الدائرة نقوم بالخطوات السابقة ونختار من Object IDs الدائرة وهو Ellipse. ثم نضيف الكود التالي :
void CMainFrame::OnGraphicsEllipse()
{
// TODO: Add your command handler code here
int i ;
CDC*PDC = GetDC();
PDC->MoveTo(0,100);
PDC->Ellipse(100,100,200,200);
}
فتكون النتيجة :
ولرسم الشكل البيضاوي قم بكتابة الإحداثيات : (100,50,300,300)
أمر المسح Clear :
لمسح الشاشة يمكنك إضافة الأمر
void CMainFrame::OnGraphicsClear()
{
// TODO: Add your command handler code here
system("clrs");
}
تحياتي