هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu
#1
لسلام عليكم
هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu
الرد
#2
نعم يمكنك ذلك وبكل بساطة فقط إتبع الخطوات التالية

أولا يجب عليك تغيير خاصة 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 للعنصر الأول كحدث لبقية العناصر
الرد
#3
جربتها لم يتغير شي
الرد
#4
شغالة مئة بالمئة ...... تأكد من خاصية OwnerDraw يجب أن تصبح True
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم