delphi4arab منتديات دلفي للعرب

نسخة كاملة : هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لسلام عليكم
هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu
نعم يمكنك ذلك وبكل بساطة فقط إتبع الخطوات التالية

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