Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   DBGrid, OnMouseMove y Registro bajo el ratón (https://www.clubdelphi.com/foros/showthread.php?t=40082)

gluglu 06-02-2007 22:48:15

DBGrid, OnMouseMove y Registro bajo el ratón
 
Hola compañeros,

Existe la posibilidad de saber sobre qué registro estoy de un DBGrid simplemente al pasar el ratón por encima y sin tener que hacer click ?

No sé si habrá alguna posibilidad de compaginar todos los datos de primer registro en pantalla del DBGrid, la posición del ratón relativa al inicio (top y left) del DBGrid, que va a ser siempre fijo de posición y tamaño, y demás variables.

Gracias por vuestra ayuda.

ArdiIIa 07-02-2007 16:49:47

Puedes probar esto a ver si te sirve...
Código Delphi [-]
type

 TglugluDbGrid = class(TDBGrid); //Para acceder a las propiedades Datalink


procedure Tgluglu.DBGrid1MouseMove(Sender: TObject;  Shift: TShiftState; X, Y: Integer);
Var
Celda : TGridCoord;
OldReg : integer;
begin
Celda := DbGrid1.MouseCoord(x,y);
if (Celda.Y >= 0) and (Celda.X < DbGrid1.Columns.Count) and (Celda.Y > 0) then
Begin
   OldReg := TglugluDbGrid(DbGrid1).DataLink.ActiveRecord;
   TglugluDbGrid(DbGrid1).DataLink.ActiveRecord := Celda.Y - 1;
    Caption := DbGrid1.Columns[Celda.x-1].Field.AsString;
    TglugluDbGrid(DbGrid1).DataLink.ActiveRecord := OldReg;
End
  else
    Caption := '';
end;

gluglu 07-02-2007 17:10:05

Muchas gracias por responder.

Ya había encontrado la solución que propones aquí : http://delphi.about.com/od/usedbvcl/l/aa011004a.htm

En este enlace se explica también como cambiar el color de las filas de un DBGrid simplemente al pasar el ratón por encima, sin tener que hacer click.

Lo que pasa es que me vuelvo a topar con el .NET ! Yo utilizo BDS 2006 en su versión VCL.NET y hace tiempo ya discutí con otros compañeros del foro que bajo .NET no hay manera de 'hackear' ya un DBGrid para acceder a sus propiedades 'protegidas' tales como DataLink. :(


La franja horaria es GMT +2. Ahora son las 16:30:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi