Cita:
Empezado por sakuragi
bueno el codigo que puse anterior mente
no me sirvio para un DBGrid ni apra un cxGrid
ni si quiera entro al onMouseEnter ni leave
ni ha los procedures entro
saludos
|
El código anterior es para crear un componente tLabel con los eventos onMouseEnter y onMouseLeave. Si quieres, tambien puedes hacer lo mismo con un componente dbGrid, creando uno nuevo que incluya esos eventos:
Código Delphi
[-]
unit dbGrid2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DbGrids;
type
TEntrarEvent=procedure(Sender:TObject) of object;
TSalirEvent =procedure(Sender:TObject) of object;
tDbGrid2 = class(tDbGrid)
private
FOnEnter:TEntrarEvent;
FOnExit :TSalirEvent;
procedure CMMouseEnter(var msg:TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
protected
public
published
property OnMouseEnter: TEntrarEvent read FOnEnter write FOnEnter;
property OnMouseLeave: TSalirEvent read FOnExit write FOnExit;
end;
procedure Register;
implementation
procedure tDbGrid2.CMMouseEnter(var msg:TMessage);
begin
inherited;
if Assigned(FOnEnter) then FOnEnter(Self);
end;
procedure tDbGrid2.CMMouseLeave(var msg: TMessage);
begin
inherited;
if Assigned(FOnExit) then FOnExit(self);
end;
procedure Register;
begin
RegisterComponents('Personal', [tDbGrid2]);
end;
end.
Doy por hecho que sabes crear un nuevo componente con este código. Si no es así, ya diras.
Salu2.