11-02-2009, 11:45 AM
بسم الله الرحمان الرحيم...
اخواني الكرام
اواجه مشكلة مع تلوين ليست بوكس....
ليس كلها ولكن فقد item واحد....
الفكرة هي ان المستخدم يتاح له 3 خيرات من خلال 3 buttom
اذا اختار لون الأخضر يصير لون ال item في اليس بوكس اخدر...
وهذا مع الأصفر و الأحمر...
يعني لو هو ضغط على كبسة 1 لصار لون الإيّتيم اخضر...
و لو ضغط على كبسة رقم 2 لصار احمر ...
وكذا ...
فكيف يمكنني من عمل ذلك ؟
هل لتلوين الإيتيم خاصّيّة ؟
انا بحثت كثيرا...
ووجد هذا الكود
ولكن بصراحة ما عرفت اتصرف معه حتى اتمكن من عمل مرادي والله المستعان...
بارك الله فيكم وبكم
والسلام عليكم ورحمة الله
اخواني الكرام
اواجه مشكلة مع تلوين ليست بوكس....
ليس كلها ولكن فقد 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;ولكن بصراحة ما عرفت اتصرف معه حتى اتمكن من عمل مرادي والله المستعان...
بارك الله فيكم وبكم
والسلام عليكم ورحمة الله


![[صورة: sanstitrelo6.jpg]](http://img401.imageshack.us/img401/2449/sanstitrelo6.jpg)
![[صورة: sanstitreyc9.jpg]](http://img102.imageshack.us/img102/383/sanstitreyc9.jpg)
![[صورة: sanstitrein0.jpg]](http://img407.imageshack.us/img407/3397/sanstitrein0.jpg)

