تلوين item في listbox... كيف ؟
#1
بسم الله الرحمان الرحيم...


اخواني الكرام

اواجه مشكلة مع تلوين ليست بوكس....
ليس كلها ولكن فقد item واحد....

الفكرة هي ان المستخدم يتاح له 3 خيرات من خلال 3 buttom
اذا اختار لون الأخضر يصير لون ال item في اليس بوكس اخدر...

وهذا مع الأصفر و الأحمر...

يعني لو هو ضغط على كبسة 1 لصار لون الإيّتيم اخضر...
و لو ضغط على كبسة رقم 2 لصار احمر ...

وكذا ...

فكيف يمكنني من عمل ذلك ؟
هل لتلوين الإيتيم خاصّيّة ؟

انا بحثت كثيرا...
ووجد هذا الكود
كود :
First of all, you should set Style method to lbOwnerDrawFixed. And then use OnDrawItem event with lines: procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var Mas: array[1..5] of Integer; begin Mas[1]:=clRed; Mas[2]:=clBlue; Mas[3]:=clYellow; Mas[4]:=clAqua; Mas[5]:=clGreen; with (Control as TListBox).Canvas do begin Brush.Color:=Mas[Index+1]; FillRect(Rect); TextOut(Rect.Left,Rect.Top,IntToStr(Index+1)); end; end;


ولكن بصراحة ما عرفت اتصرف معه حتى اتمكن من عمل مرادي والله المستعان...

بارك الله فيكم وبكم
والسلام عليكم ورحمة الله
الرد
#2
السلام عليكم

محاولة

[صورة: sanstitrelo6.jpg]

و السلام عليكم .


الملفات المرفقة
.rar   ColorItemes.rar (الحجم : 1.67 ك ب / التحميلات : 37)
الرد
#3
نعم بارك الله فيك اخي الكريم...
لكن اخي... هل ممكن اضافة خاصية تلوين item موجود مسبقاّ ؟
بارك الله فيك...

وثايناّ....
حيّرني هذا الكود...

PHP كود :
procedure TForm1.btn1Click(Sender: TObject);
begin
    
case (Sender as TButton).Tag of
     0
:
      
begin
       SlI
.Add(edt1.Text); SlC.Add('255');
      
end;
     
1:
      
begin
       SlI
.Add(edt1.Text); SlC.Add('16711680');
      
end;
     
2:
      
begin
       SlI
.Add(edt1.Text); SlC.Add('32768');
      
end;
    
end;
  
AddItems();
end; 

ما هو الواحد و 2 و الصفر ؟
وثانياّ

كيف فعلت بارك الله لك حتى تستخدم نفس الكود عندما تضغط على
btn 1 او btn2 او btn3 بارك الله لك...

شكرا لك كثيرا اخي
الرد
#4
[صورة: sanstitreyc9.jpg]

فى هذا المثال يمكن تغير اللون فقط و لا يمكن الاضافة .


الملفات المرفقة
.rar   Color.rar (الحجم : 1.84 ك ب / التحميلات : 18)
الرد
#5
نعم اخي هانابينوا...
بارك الله فيك مشي الحال تقريبا...
وشكرا على ال****** بارك الله فيك

فقد اخي لو مثلا اضفت على مثالك الآخير button يضيف و يلون الأيتيم احمر في نفس الوقت كيف يصير الكود

حاولت في هذا الود لكن لا يقبل به...
PHP كود :
Sl_C.Add(edt1.text); Sl_CH.Add('255'); 

بارك الله فيك
الرد
#6
السلام عليكم

اخى Moh اضن ان هذا ما تبحث عنه :

- اضافة اتام ملون .
- تعديل على اللون .
- حذف اتام .
- تعديل نص الايتام .

واجهتنى مشكلة و هى يجب ان تكون ListBox تحتوى على الاقل اتام 1 . تغلبت عليها بوضع اتام لا يمكن حذفه .

بالتوفيق .

[صورة: sanstitrein0.jpg]

و السلام عليكم .


الملفات المرفقة
.rar   ColorItemes.rar (الحجم : 2.45 ك ب / التحميلات : 34)
الرد
#7
نعم اخي الكريم....
الله يبارك فيك...

هذا بظبط ما كنت ابحث عنه Smile
بارك الله لك وبك وجزاك الله كل خير....

وسامحني على إتعابك Rolleyes
الله يبارك فيك
الرد
#8
و فيك بركة اخى Moh Smile .
الرد


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


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