delphi4arab منتديات دلفي للعرب
هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu (/showthread.php?tid=6778)



هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu - احمد - 11-02-2015

لسلام عليكم
هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu


هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu - الكاسر الآخر - 11-02-2015

نعم يمكنك ذلك وبكل بساطة فقط إتبع الخطوات التالية

أولا يجب عليك تغيير خاصة OwnerDraw إلى True فبدونها فإن الدلفى ستعتمد الاعدادات الافتراضية لـ PopupMenu
ثانيا تفعيل حدث OnDrawItem وذلك بالنقر المزدوج على مكون القائمة واختيار العنصر الأول ثم اختيار Events من صندوق الخصائص والضغط على OnDrawItem ثم قم بلصق الكود التالي حيث سيغير لون الأحرف إلى أحمر ولون التحديد إلى الأصفر

كود :
ACanvas.Font.Assign(Font); if Selected then begin ACanvas.Font.Color := clRed; ACanvas.Brush.Color := clYellow; ACanvas.FillRect(ARect); end else begin ACanvas.Font.Color := clMenuText; ACanvas.Brush.Color := clMenu; ACanvas.FillRect(ARect); end; DrawText(ACanvas.Handle, pchar(TMenuItem(Sender).Caption), length(TMenuItem(Sender).Caption), ARect, DT_CENTER or DT_VCENTER);

الآن قمنا بتغيير العنصر الأول فقط .. وماعليك فعله هو تحديد بقية العناصر وإختيار OnDrawItem للعنصر الأول كحدث لبقية العناصر


هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu - احمد - 13-03-2015

جربتها لم يتغير شي


هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu - الكاسر الآخر - 13-03-2015

شغالة مئة بالمئة ...... تأكد من خاصية OwnerDraw يجب أن تصبح True