Hallo,
du hast den Index für jede Dimension (i und j) bereits an den Button geknüpft:
Delphi-Quellcode:
const
LEFT_MARGIN = 10;
HORZ_DISTANCE = 40;
TOP_MARGIN = 10;
VERT_DISTANCE = 40;
function TMainForm.CreateButton(iCol, iRow: Integer): TButton;
begin
Result := TButton.Create(self);
with Result do
begin
// ...
Left := LEFT_MARGIN + iCol * HORZ_DISTANCE;
Top := TOP_MARGIN + iRow * VERT_DISTANCE;
end;
end;
Du kannst im Ereignis-Code für OnClick() des Buttons jederzeit wieder auf Zeilen- und Spaltenindex zurückgreifen:
Delphi-Quellcode:
procedure TMainForm.ButtonClick(Sender: TButton);
var
iCol, iRow: Integer;
begin
with Sender as TButton do
begin
iCol := (Left - LEFT_MARGIN) div HORZ_DISTANCE;
iRow := (TOP - TOP_MARGIN) div VERT_DISTANCE;
end;
end;
Freundliche Grüße vom marabu