Components for a horizontal chart

I have to develop a horizontal chart which has
  - a bunch of labels in a column on the left,
    like a one-wide string grid, but with _no_
    selection allowed
  - a bunch of corresponding horizontal bars
  - rulers alog the top and bottom edges
  - two vertical-line cursors

In ASCII text, the essence of the chart is:

  label1  *********
  label2  ###############
  label3  &&&&&&&&&&&&&&&&&&&   label5  @@@@@@

The user must be able to reorder the rows, edit the labels,
and move the cursors around.

At first I thought that I should use a string grid on the
left, and a draw grid for the bars.  Is that what the experts
would recommend?

As a relatively inexperienced Delphi user, I get the feeling
that it may be easier just to draw the whole thing on a Canvas.
Is that correct, or should I set down to read grid.pas and go
from there?

Simon    (simon at tile dot demon dot co dot uk)

Sent via
Before you buy.