من تو برنامم از ListBox استفاده میکنم که میخوام رنگ سطرهای آن متفاوت باشه و با اضافه یا کم کردن رنگ سطرهای آن آپدیت بشه. احتمالا سطر دوم کم بشه یا هر سطری از آن در حالت RunTime منظورمه.
من تو برنامم از 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 تغییر دهید .![]()
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)