Hi!<br><br>Set the property TCheckListBox.Style to lbOwnerDrawFixed and then set event handler on TCheckListBox.OnDrawItem:<br><br>procedure TForm1.CheckListBox1DrawItem(Control: TWinControl;<br> Index: Integer; Rect: TRect; State: TOwnerDrawState);<br>begin<br> if CheckListBox1.Checked[Index] then<br> begin<br> CheckListBox1.Canvas.Font.Style:=[fsStrikeOut];<br> CheckListBox1.Canvas.TextRect(Rect,Rect.left,Rect.top,CheckListBox1.Items[Index])<br> end<br> else<br> begin<br> CheckListBox1.Canvas.Font.Style:=[];<br> CheckListBox1.Canvas.TextRect(Rect,Rect.left,Rect.top,CheckListBox1.Items[Index]);<br> end;<br>end;<br><br>but if user click on checkbox that line dont repaint. This, for example, can be done like:<br><br>procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);<br>var rect : TRect;<br>begin<br> with CheckListBox1 do<br> begin<br> rect:=ItemRect(ItemIndex);<br> rect.Left:=15;<br> CheckListBox1DrawItem(CheckListBox1,ItemIndex,rect,[]);<br> end;<br>end;<br><br>This is an TCheckListBox.OnClickCheck handler.