المشاركات : 35
المواضيع 18
:
: 0
الإنتساب : Nov 2012
لسلام عليكم
هل يوجدامكانية تلوين الخط في القوائم المنسدلة من popmenu
المشاركات : 104
المواضيع 2
:
: 0
الإنتساب : May 2010
نعم يمكنك ذلك وبكل بساطة فقط إتبع الخطوات التالية
أولا يجب عليك تغيير خاصة 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 للعنصر الأول كحدث لبقية العناصر
المشاركات : 35
المواضيع 18
:
: 0
الإنتساب : Nov 2012
المشاركات : 104
المواضيع 2
:
: 0
الإنتساب : May 2010
شغالة مئة بالمئة ...... تأكد من خاصية OwnerDraw يجب أن تصبح True