Es gibt keine dummen Fragen!
Du implementierst deine Funtkion/Prozedur wie gewohnt im Implementation-Bereich.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| implementation
procedure MyOnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin [...] end; |
Anschließend machst du aus dieser Funktion/Prozedur eine Methode deiner Klasse.
D.h. du schreibst den Funktions-/Prozedurkopf nocheinmal unter Private bzw. Public.
Wobei die Funktion/Prozedur unter Private
nur innerhalb der Unit sichtbar ist.
Bei Public ist das Gegenteil der Fall. Dort kannst du die Funktion/Prozedur auch außerhalb der Unit über die Klasse ansprechen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| type TKlasse = class(TStringGrid) private procedure MyOnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); public end; |
Anschließend musst Du du im Implementation-Bereich
vor deinen Funktions-/Prozedurnamen den Klassennamen - getrennt mit einem Punkt - schreiben.
Irgendwie musst du diese ja auch mit der Klasse verbinden bzw. als Methode kennzeichnen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| implementation
procedure TKlasse.MyOnDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin [...] end; |
Nun kannst du im OnCreate oder im OI deine selbstdefinierte Funktion/Prozedur einem Ereignis zuweißen:
Delphi-Quelltext
1: 2:
| StrinGrid1.OnDrawCell := MyOnDrawCell; |
Fertig!
Müsst alles so stimmen und ich hoffe, dass du es verstanden hast.
grüße