من تو برنامم از ListBox استفاده میکنم که میخوام رنگ سطرهای آن متفاوت باشه و با اضافه یا کم کردن رنگ سطرهای آن آپدیت بشه. احتمالا سطر دوم کم بشه یا هر سطری از آن در حالت RunTime منظورمه.
Printable View
من تو برنامم از ListBox استفاده میکنم که میخوام رنگ سطرهای آن متفاوت باشه و با اضافه یا کم کردن رنگ سطرهای آن آپدیت بشه. احتمالا سطر دوم کم بشه یا هر سطری از آن در حالت RunTime منظورمه.
با سلام
این کد سلولها رو یکب در میون رنگ میکنه شما میتونین با یه کم تغییر به اون چیزی که میخواهین برسین
نقل قول:
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;
از توجهتون ممنون. من کد ارسالیتونو تو Event ، ListBox1DrawItem کپی کردم ولی عمل نکرد. چه تغییراتی باید درش انجام بدم. لطفا راهنماییم کنین. مر30
خاصیت Style کامبوباکس را به lbOwnerDrawFixed تغییر دهید . :46:
با سپاس از همه