Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Zur Laufzeit erzeugte Editierfelder

  Alt 27. Apr 2021, 08:09
Auch wenn ein Teil davon bereits erwähnt wurde, zähle ich das noch mal kurz mit auf:

Warum nicht eine Tabelle (Grid) für die Eingabe verwenden?

Wenn man Komponenten zur Laufzeit erzeugt, kann man denen auch passende Eigenschaften verpassen:
Delphi-Quellcode:
type
  TMyEdit = class(TEdit)
  private
    FPosition: TPoint;
  public
    property Position: TPoint read FPosition write FPosition;
  end;
{...}

Edt := TMyEdit.Create(Self);
Edt.Position.X := k;
Edt.Position.Y := i;
Edt.OnExit := ABCOnExit;
{...}

procedure TForm1.ABCOnExit(Sender: TObject);
begin
  k := TMyEdit(Sender).Position.X;
  i := TMyEdit(Sender).Position.Y;
  {...}
end;
Speichert man die Komponenten beim Erzeugen in einem Array, wird FindComponent nicht benötigt.
Delphi-Quellcode:
TForm1 = class(TForm)
private
  FMyEditABC: array of array of TMyEdit;
end;

Edt := TMyEdit.Create(Self);
FMyEditABC[k, i] := Edt;
  Mit Zitat antworten Zitat