Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Neue Komponente - Ereignis lässt sich nicht überschreibe

  Alt 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
  Mit Zitat antworten Zitat