الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عدم التعرف على ال Dialog ؟

مغلق
بدأه عبدالرحمن في 17 نوفمبر 2001 · 3 رد · 341 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

واجهتني مشكلة غريبة

برنامجي مكون من 2 Dialog

GraphicsDlg , PaintDlg

وفي احد ال functions في ال Dialog الثاني اردت استخدام ال dialog الاول . بالتالي يجب ان اعطيه اسم ال Dialog الاول وهذه هو الكود :

كود

void CPaintDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

	// TODO: Add your message handler code here


	CGraphicsDlg  *pWnd = (CGraphicsDlg*)GetParent();
	*pWnd = (CGraphicsDlg*)GetParent();
	if (pWnd)
	{
		if (pWnd->m_itool ==2)
		{
		}
		else
		{
			if(pWnd->m_ishape == 0)
				DrawLine(&dc,pWnd->m_icolor);
		}
	}

لكن في النهاية يعرضلي من ضمن الاخطاء (بل هو الخطا الرئيسي ) ان كلاس الديالوج الاول غير معرف

CGraphicsDlg' : undeclared identifier

ارجو المساعدة والله يعطيكم العافية

#2

لقيت الحل والحمد لله .

وهو انه يجب عليك تعريف ملف ال header التابع لل dialog1 .

ويجب عليك تعريفه في اول كود ال dialog2 .

#3

أخي لمذا تستدعي التابع GetParent مرتين ؟؟

استدعيه مرة واحدة كافي كما يلي :

CGraphicsDlg *pWnd = (CGraphicsDlg*)GetParent();

Coding on the Cloud and for the Cloud!

My Blog

#4

اخ هاني .

انا كتبت مشكلتي بعد العديد من المحاولات الفاشلة . والخطا الموجود في getparent هو احد المحاولات :D

هذا الموضوع مغلق.

مواضيع مشابهة