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

ياشباب من سبق له العمل مع الفئة CPalette فليساعدني

مغلق
بدأه عبدالله عيد في 5 فبراير 2003 · 2 رد · 667 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

اخواني الأعزاء تحية طيبة

أولاً سؤالي يدور حول الـ CPalette:

فكما تعلمون أن CPalette تنشئ لوحة ألوان بإختيار ألوان معينة ,إلى هنا متفقين

ولكن المشكلة التي لدي :

هي أني أقوم بإنشاء كائن CPalette بشكل سليم بإذن الله تعالى ولكن كيف أقوم بعرض هذا

الـPalette في منطقة معينة على سبيل المثال

لو وضعت على Dialog أداة Picture لتمثل المنطقة التي تعرض الـPalette

وقمت بإحضار DeviceContext تبع المنطقة ولنفرض أن ID تبع الصورة هو IDC_PIC

وعليه فإني سأقوم بالتالي لإحضار DC تبع المنطقة :

CStatic* pStatic = (CStatic*)GetDlgItem(IDC_PIC);

CDC* pDC = pStatic->GetDC();

والأن وبعد أن أحضرت DC تبع المنطقة المراد عرض لوحة الالوان فيها فإني سأقوم بإنشاء كائنCPalette

والذي سأضعه في المنطقة على النحو التالي :

// Create system palette:



	int nColors = 256;	// Use 256 first entries

	UINT nSize = sizeof(LOGPALETTE) + (sizeof(PALETTEENTRY) * nColors);

	LOGPALETTE *pLP = (LOGPALETTE *) new BYTE[nSize];



	pLP->palVersion = 0x300;

	pLP->palNumEntries = (USHORT) nColors;



	::GetSystemPaletteEntries (pDC->GetSafeHdc() , 0, nColors, pLP->palPalEntry);



	CPalette palSys;

	palSys.CreatePalette (pLP);

وبعد أن أنشئ الكائن يجب أن أختاره في DC وعليه سأكتب الكود التالي :

CPalette* pPS = pDC->SelectPalette(&palSys,FALSE);

وبعد هذه الخطوات يأتي السؤال وهو أني عجزت عن عرض كائن CPalette في المنطقة المحددة وربطهم

مع بعضهم البعض مع أني قمت بجلب DeviceContext تبع المنطقة وقمت بإنشاء كائن CPalette الذي يحتوي على الألوان

المطلوبة فما هي حلقة الوصل بينهم أو الحلقة المفقودة

ومن لديه الجواب أرجوا أن لايبخل علي وأنا أنتظر على احر من الجمر

أخوكم عبدالله عيد المحمادي

#3

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

أشكرك أستاذي العزيز أسماعيل

ولك خالص تحياتي

أخوك عبدالله عيد المحمادي

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…