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?