Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
Delphi 12 Athens
|
Re: Frage zu TStringGrid
20. Feb 2010, 13:56
Du könntest Dir eine Klasse deklarieren und diese mit AddObject einfügen. Beispiel (nur heruntergetippt und nicht groß getestet):
Delphi-Quellcode:
{$R *.dfm}
type
TTestclass = class
private
FNumber: integer;
FText: string;
public
property Number: integer read FNumber write FNumber;
property Text: string read FText write FText;
end;
procedure TForm1.FormCreate(Sender: TObject);
var Testclass: TTestclass;
i: integer;
begin
StringGrid1.Rows[1].Clear;
StringGrid1.Rows[1].Add('');
for i := StringGrid1.FixedCols to StringGrid1.ColCount - 1 do
begin
Testclass := TTestclass.Create;
Testclass.Number := i;
Testclass.Text := 'Test';
StringGrid1.Rows[1].AddObject(Testclass.Text,Testclass);
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var i,j: integer;
begin
for i := 0 to StringGrid1.RowCount - 1 do
for j := 0 to StringGrid1.ColCount - 1 do
StringGrid1.Rows[i].Objects[j].Free;
end;
procedure TForm1.StringGrid1Click(Sender: TObject);
var Testclass: TTestclass;
begin
Testclass := TTestclass(StringGrid1.Rows[StringGrid1.Row].Objects[StringGrid1.Col]);
if Assigned(Testclass) then
ShowMessage(IntToStr(Testclass.Number));
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|