المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
السلام عليكم ورحمة الله,,
اخوآني الكرام,
اود ان اعدل على ال Listbox حتى يصبح بالشكل التآلي,, (او شئ مثل هذا)
اطلعت على درس الدورة عن النشآء الكومبننتات لكن حقيقة رغم ذلك لا اعرف من اين ابدئ,
هناك في الحقيقة امرين احتاج التعديل عليهما,
الأول,
كل Item يحتاج الى Border حتى يصبح كما في الأعلى,
ثانيا,
عند الضغط على Item,
بدل الّون الإفترآضي الأزرق سيكون مثلا لون الأحمر او شئ من هذا,,
حسب البحث, فهناك شئ يجب عمله على OnDrawItem والله اعلم,
السمكة مهمّة بالنسبة لي, لكن الأهم هو ان اتعلم كيف اصيدها,,
بارك الله لكم
وجزآكم خيرا
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
المشاركات : 240
المواضيع 16
:
: 0
الإنتساب : Dec 2008
اي نسخة من دلفي تعمل عليها .؟
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
إقتباس :اي نسخة من دلفي تعمل عليها .؟
آسف, نسيت كتآبة هذا,
الدلفي 2010
بارك الله لك.,
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
المشاركات : 240
المواضيع 16
:
: 0
الإنتساب : Dec 2008
لي مكون على شكل ListBox ولكن برمجته كانت From scratch برمجته خصيصا للبتار فيه ميزات كثيرة منها ماذكرته ولكنني استعمله تحت delphi 7 , لم اجربه مع 2009 او 2010 اذا اردت سوف ارسل لك نسخة وتقوم بتجربتها تحت 2010 واذا استلزم الامر قم بالتعديل عليه لكي تعمل على 2009 او 2010
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
طيب حسناً, بارك الله فيك, انتظر المكون منك ان شاء الله,
ساستخدمه كحل مؤقت, (حتى اصنع وآحدا بنفسي)
ومع هذا, فأنا اود فعرفة الطريقة من البدآية بارك الله لكم
:bye1:
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
المشاركات : 378
المواضيع 44
:
: 6
الإنتساب : Feb 2008
هدا عبارة عن مكون ListBox عادى ... قم بلصق هده الكتابة على ال
Form
PHP كود : object ListBox1: TListBox Left = 16 Top = 24 Width = 249 Height = 100 Style = lbOwnerDrawVariable BorderStyle = bsNone Color = 11775662 ItemHeight = 20 Items.Strings = ( 'Item 0' 'Item 1' 'Item 2' 'Item 3' 'Item 4') TabOrder = 0 end
جرب هدا فى حدث DrawItem
PHP كود : begin with ListBox1.Canvas do begin Pen.Color := RGB(127, 157, 185);
if Index < 1 then Rectangle(Rect) else Rectangle(Rect.Left, Rect.Top - 1, Rect.Right, Rect.Bottom);
if (odSelected in State) then begin Brush.color := ListBox1.Color; Font.color := 255; Fillrect(Rect); end;
TextOut(Rect.Left + 3, Rect.Top + 2, ListBox1.Items[Index]); end; end;
النتيجة
![[صورة: 725142558.png]](http://www13.0zz0.com/2010/01/01/06/725142558.png)
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
جزآك الله خيرا اخي هاني,
بالنسبة لهذا, عند وضعه وعمل Scroll بالموس يحدث خلل,
PHP كود : begin with ListBox1.Canvas do begin Pen.Color := RGB(222, 222, 222); // BorderColor
if Index < 1 then Rectangle(Rect) else Rectangle(Rect.Left, Rect.Top - 1, Rect.Right, Rect.Bottom);
if (odSelected in State) then begin Brush.color := $00cccccc;//ListBox1.Color; Font.color := $888888;//Text Color Fillrect(Rect); end;
TextOut(Rect.Left + 3, Rect.Top + 2, ListBox1.Items[Index]); end; end;
الخلل هو, بعد الضغط على احد ال items ولنفترض الخآمسة,
وبعدها عمل Scroll يحدث تلوّن في السيت بوكس غير صحيحة,,
هل هناك طريقة لتفآدي هذا الخطأ ؟
وهذا,
PHP كود : if (odSelected in State) then
ال State معرّف TOwnerDrawState لكن ما هو على ارض الوآقع ؟
جزآك الله خيرا اخي الكريم
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
المشاركات : 778
المواضيع 97
:
: 0
الإنتساب : Nov 2008
عذرا, يبدوا الخلل لا يحدث مع الدلفي 2010, فقط الدلفي 7,,
بقي هذه,
إقتباس :ال state معرّف townerdrawstate لكن ما هو ال state على ارض الوآقع ؟
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
المشاركات : 378
المواضيع 44
:
: 6
الإنتساب : Feb 2008
TOwnerDrawState
هو عبارة عن مجموعة من الاحداث الخاصة بال Items كل حدث ودوره و odSelected حدث من بين تلك الاحداث وهو خاص ب ... ينفد عند اختيار احدى ال Item وينفد على هدا الاخير فقط .
بالنسبة لخلل التلوين انا لا يحدث عندى اى خلل ... ارفق صورة للخلل.
المشاركات : 378
المواضيع 44
:
: 6
الإنتساب : Feb 2008
هدا غير شكل FocusRect ... نعم هكدا احسن ...
|