ich hab ein kleines Problem beim Events überschreiben.
In so ziemlich jedem Tutorial wird als Beispiel immer TEdit mit dem Event OnKeyPress verwendet. Man überschreibt dann einfach die procedure KeyPress und schon klappt es. (
Beispiel-Tutorial)
Jetzt möchte ich aber OnEnter überschreiben und hab dann mal gedacht, dass die dazugehörige Procedure sicherlich 'Enter' heißt. Als Fehler beim Compilieren bekomm ich dann aber
Code:
[Error] EnhEdit.pas(15): Method 'Enter' not found in base class
Welche Procedure muss ich in diesem Fall dann überschreiben? Bzw, wie bekommt man allgemein heraus, welche Procedure zu welchem Event gehört?
Die
Unit EnhEdit sieht im moment folgendermaßen aus (vereinfachtes Beispiel):
Delphi-Quellcode:
unit EnhEdit;
interface
uses
SysUtils, Classes, Controls, StdCtrls, Graphics;
type
TEnhEdit =
class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
procedure KeyPress(
var Key: Char);
override;
procedure Enter;
override;
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
RHO', [TEnhEdit]);
end;
{ TEnhEdit }
procedure TEnhEdit.Enter;
begin
inherited;
end;
procedure TEnhEdit.KeyPress(
var Key: Char);
begin
if not (Key
in ['
0'..'
9'])
then
key:=#0;
inherited KeyPress(Key);
end;
end.