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