Fügt einer StringGrid-Spalte eine grafische Leiste hinzu

Mit Delphi 2010 und einer TStringGrid-Komponente zeige ich derzeit fünf Felder aus einer Datenbankabfrage an.

Hier ist ein vereinfachtes Beispiel dafür, was ich tue

// richte das Gitter ein

procedure TGriddata.FormCreate(Sender: TObject);
begin
 grdMain.Rows[0].commatext:='"One","Two","Three","Four","Five"';
 grdMain.ColWidths[0]:= 50;
 grdMain.ColWidths[1]:= 175;
 grdMain.ColWidths[2]:= 175;
 grdMain.ColWidths[3]:= 100;
 grdMain.ColWidths[4]:= 300;
end;

// zeige die Daten im Gitter an // beachte, dass ich meine Erstellung, Ausführung oder Zerstörung der Abfrage nicht zeige

procedure TGriddata.load;
begin
 ... 
 grdMain.Cells[0,row]:= FieldByName('one').AsString;
 grdMain.Cells[1,row]:= FieldByName('two').AsString;
 grdMain.Cells[2,row]:= FieldByName('three').AsString;
 grdMain.Cells[3,row]:= FieldByName('four').AsString;
 //draw progress bar here
 ...
end;

In einer der Spalten ("Fünf") muss ein dunkelblauer horizontaler Balken angezeigt werden. Es sollte auch Text angezeigt werden, der in der Leiste zentriert ist. Ich habe keine Erfahrung mit der benutzerdefinierten Zeichnung. Welche Eigenschaften werden festgelegt, um nur die eine Spalte benutzerdefiniert zu zeichnen und die Standardzeichnung für die anderen Spalten zu verwenden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage