PDA

نسخه کامل مشاهده نسخه کامل : ListBox با سطهایی با رنگ متفاوت



skmkh6056
28-06-2008, 11:12
من تو برنامم از ListBox استفاده میکنم که میخوام رنگ سطرهای آن متفاوت باشه و با اضافه یا کم کردن رنگ سطرهای آن آپدیت بشه. احتمالا سطر دوم کم بشه یا هر سطری از آن در حالت RunTime منظورمه.

ghoghnoose_dana
28-06-2008, 18:16
با سلام
این کد سلولها رو یکب در میون رنگ میکنه شما میتونین با یه کم تغییر به اون چیزی که میخواهین برسین


procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if (Index mod 2) = 0 then
begin
(Control as TListbox).Canvas.Brush.Color := clWhite;
(Control as TListbox).Canvas.Font.Color := clBlack;
end
else
begin
(Control as TListbox).Canvas.Brush.Color := clBlack;
(Control as TListbox).Canvas.Font.Color := clWhite;
end;
(Control as TListbox).Canvas.FillRect(Rect);
(Control as TListbox).Canvas.TextOut(Rect.Left+2,Rect.Top+2,
(Control as TListbox).Items[Index]);
end;

skmkh6056
29-06-2008, 07:32
از توجهتون ممنون. من کد ارسالیتونو تو Event ، ListBox1DrawItem کپی کردم ولی عمل نکرد. چه تغییراتی باید درش انجام بدم. لطفا راهنماییم کنین. مر30

Mah6447
29-06-2008, 08:14
خاصیت Style کامبوباکس را به lbOwnerDrawFixed تغییر دهید . :46:

skmkh6056
29-06-2008, 11:19
با سپاس از همه