Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
Delphi 10.4 Sydney
|
Re: Neue Komponente - Ereignis lässt sich nicht überschreibe
17. Aug 2006, 09:01
Hallo,
Doch indem man das OnKeyDown in eine eigene Methode in
der Komponente umleitet und von dort aus
das andere Event feuert.
Ein Bsp. aus einem Programm.
Es wird der Doppelklick im StirngGrid abgefangen
und auf eine andere Methode umgeleitet.
Dort kann entschieden werden, ob der inplace-Editor angezeigt wird oder nicht.
Das OnWantEdit-Event enthält dafür 2 Return-Parameter,
Heiko
interface
TWantEditEvent = procedure (Sender: TObject; theCol: Longint;
var bCanEdit: Boolean; var EditLen: Integer) of object;
procedure DblClick; override;
procedure ActOnDblClick;
FWantEdit : TWantEditEvent;
property OnWantEdit: TWantEditEvent
read FWantEdit write FWantEdit;
implementation
procedure TEditGrid.DblClick;
begin
inherited DblClick;
ActOnDblClick;
end;
procedure TEditGrid.ActOnDblClick;
if Assigned(FWantEdit) then
begin
CanEdit:= True;
EditLen:= 255;
FWantEdit(Self, Col, CanEdit, EditLen);
if not CanEdit then Exit;
end;
Heiko
|