Delphi - TDBGrid komponenshez OnClick esemény készítése

forráskód letöltése
Alapesetben a TDBGrid komponens nem rendelkezik OnClick eseménnyel. Pedig ez sok esetben jól jönne, mivel így például nyomon követhetnénk, hogy mikor melyik cella az aktív.

Mellékelt példában olyan komponenst készítünk a TDBGrid-ből származtatva, melynél már van OnClick esemény. A mellékelt példaprogram megnyitása előtt a DBClickGrid.pas-ban lévő komponenst telepítenie kell a Delphi alá.

A megoldáshoz két egyszerű lépésre van szükségünk.

Az egyik az az, hogy publikáljuk az OnClick property-t. Mivel ez a property az ős osztályban megtalálható, így elkészítésével nincs dolgunk, csupán jeleznünk kell a fordítónak, hogy mostantól a published részbe kerüljön az OnClick.
…
  published
    property OnClick;
…
A másik teendőnk, hogy engedélyezzük a komponens számára a kattintás eseményt. Ehhez a konstruktorban a ControlStyle property-nek kell új értéket adnunk, oly módon, hogy a már meglévő konstansok közé felvesszük a csClickEvents-et is.
constructor TDBClickGrid.Create(AOwner: TComponent);
begin
  inherited;
  ControlStyle:=ControlStyle+[csClickEvents];
end;