کد برای تغییر رنگ پس زمینه سطر جاری در لیست باکس(حوصله توضیح اضافه ندارم
)
ListBox1.Style-> lbOwnerDrawFixed
Var
LastItem:Integer=-1;
..
implementation
...
procedure TReplaceTextForm.ListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
procedure DrawItem(Idx:Integer;R:TRect);
Var
S:String;
W:Word;
begin
If Idx=ListBox1.ItemIndex Then
ListBox1.Canvas.Brush.Color:=clAqua
Else
ListBox1.Canvas.Brush.Color:=ListBox1.Color;
//SetBkMode(ListBox1.Canvas.Handle,Transparent);
ListBox1.Canvas.FillRect(R);
ListBox1.Canvas.Font.Color:=clBlack;//ضروري
ListBox1.Canvas.TextOut(R.Left,R.Top,ListBox1.Item s[Idx]);
end;
begin
If (LastItem<>-1) And (LastItem<>ListBox1.ItemIndex)
And (LastItem<ListBox1.Items.Count) then
DrawItem(LastItem,ListBox1.ItemRect(LastItem));
DrawItem(Index,Rect);
LastItem:=Index;
end;