Einzelnen Beitrag anzeigen

Der_Ventilator

Registriert seit: 11. Apr 2004
Ort: Kanada
136 Beiträge
 
Delphi 2010 Professional
 
#29

Re: Hinzufügen von neuen Ereignissen zu Komponenten

  Alt 1. Jul 2004, 20:43
OK, jetzt habe ich auch ein KeyDownEvent, aber es funktioniert nicht alleine, da ich das Image ja nicht 'markieren' kann.
Wie kriege ich das aktiv, damit bei einem Tastendruck meine KeyDown Pozedure aufgerufen wird?

Delphi-Quellcode:

unit Sli;
{
StringListImage
Grafische Ausgabe einer Stringlist
    (eine Art bessere Listbox)

type
  TSliKeyDownEvent = procedure (Sender: TObject; var Key: Word;
                    Shift: TShiftState) of object;

type
  TSliEnterEvent = procedure (Sender: TObject) of object;

type
  TSli = class(TImage)
  private
    { Private-Deklarationen }


  protected
    { Protected-Deklarationen }
    FOnkeyDown: TSliKeyDownEvent;
    FOnEnter: TSliEnterEvent;

    procedure KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Enter(Sender: TObject) ;

  public
    { Public-Deklarationen }        
    constructor Create(AOwner:TImage);
  published
    { Published-Deklarationen }     
    property OnKeyDown : TSliKeyDownEvent read FOnKeyDown write FOnKeyDown;
    property OnEnter : TSliEnterEvent read FOnEnter write FOnEnter;
  end;

procedure Register;

implementation

...


procedure TSli.KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  If Assigned(FOnKeyDown) then
    FOnKeyDown(self, Key, Shift);
end;

procedure TSli.Enter(Sender: TObject);
begin
  inherited;
  If Assigned(FOnEnter) then
    FOnEnter(self);
end;

Meine OnEnterEvent - Vererbungsversuche (von einer Listbox halt abgeschaut) bringen mich nicht weiter.
  Mit Zitat antworten Zitat