The following code uses ClientRect to find and draw a line from the upper left to the lower right of the current control. Select a TControl in the ListBox list. This example assumes that the current object is a descendant of TControl and has a public Canvas property.
if (ListBox1.Items.Objects[Index] is TStringGrid) then begin myStringGrid:= (ListBox1.Items.Objects[Index] as TStringGrid); with myStringGrid.ClientRect do begin // Make sure you are using the canvas of the TControl, and not the from's canvas. myStringGrid.Canvas.MoveTo(Left, Top); myStringGrid.Canvas.LineTo(Right, Bottom); end; myStringGrid:= nil; end;