Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2
  Alt 19. Jun 2003, 16:35
Hallo,
ich vermute Deim Problem ist, das Du nicht weißt wie man einem dynamisch erzeugtem Objekt EventHandler zu weist.
Jeder Event-Property kann eine Methode zugewiesen werden. Das Geheimnis ist nur wie man an die Methoden-Signatur (unter Methoden-Signatur versteht man die Anzahl der Parameter und deren Typen) kommt.
Lege ein TStringGrid auf das Formular und erzeuge über den Objektinspektor den OnSelectCell EventHandler.
Der sieht dann so aus
Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin

end;
Jetzt kannst Du diesen Teil kopieren(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); Damit schreibst Du jetzt folgende Methode
Delphi-Quellcode:
procedure TForm1.MySelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
begin
  // mach hier irgend was
end;
Dein Code wird an entsprechend erweitert:
Delphi-Quellcode:
procedure create_stringgrids;
   Var i : Byte;
   begin
    for i:=1 to 26 do
     begin
      FStringGrid[i]:=TStringGrid.create(Form1);
      with FStringGrid[i] do
       begin
        Parent:= FTabsheet[i]; //Array der Tabsheets im FPageControl
        Name:= 'StringGrid' +chr(64+i);
        ColCount:=5;
        RowCount:=8;
        OnSelectCell:=MySelectCell;
       end;
     end;
     groesse_stringgrid;
   end;
Über den Parameter Sender kannst Du feststellen welches TStringGrid das Event gefeuert hat.
  Mit Zitat antworten Zitat