Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2008
gesjug gesjug is offline
Miembro
 
Registrado: jun 2007
Posts: 63
Poder: 17
gesjug Va por buen camino
Saber en que columna de un dbgrid esta el mouse

Verán necesito que cuando pase el mouse por encima de determinadas columnas muestre el hint del datagrid, pero solo en determinadas columnas, eso digo yo que activando y desactivando el hint del dbgrid al detectar que esta en esas columnas, el problema es que no se como hacer para saber en que columna esta solo moviendose, sin hacer click ni nada.
He revisado los foros y no he sabido hacerlo, he visto algunos con el mismo problema pero no se como lo resuelven y las soluciones que veo son para stringgrid no para dbgrid.
Si me pudieran echar una mano estaria muy agradecido.
Un saludo y gracias por su tiempo
Responder Con Cita
  #2  
Antiguo 06-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola. Prueba con esto:

Código Delphi [-]
procedure TForm1.DBgrid1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
var
          p : TGridCoord;
begin
          p := DBGrid1.MouseCoord(X,Y);
          DBGrid1.Hint := DBGrid1.Columns[p.x-1].FieldName;
end;

Tambien puedes echar un vistazo a TCustomGrid.Hittest
Responder Con Cita
  #3  
Antiguo 06-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, puedes hacerlo con la función MouseCoord de tu DBGrid.

Código Delphi [-]
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
 Coordenadas : TGridCoord;
begin
 Coordenadas := DBGrid1.MouseCoord(X,Y);
 Edit11.Text := IntToStr(Coordenadas.X); //Columna
 Edit12.Text := IntToStr(Coordenadas.Y); //Fila
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 06-11-2008 a las 13:47:05.
Responder Con Cita
  #4  
Antiguo 06-11-2008
gesjug gesjug is offline
Miembro
 
Registrado: jun 2007
Posts: 63
Poder: 17
gesjug Va por buen camino
Hola:

Gracias por sus respuestas.
Lo que yo intento no es saber las coordenadas del mouse, si no saber cuando el mouse esta sobre una determinada columna, para, en ese momento, desplegar el hint del dbgrid.
Responder Con Cita
  #5  
Antiguo 06-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola de nuevo. Eso es exactamente lo que hace DBGrid.MouseCoord. saludos.
Responder Con Cita
  #6  
Antiguo 07-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, como te dice el amiguito coso, eso es lo que hace el MouseCoord te da la fila y columna donde esta el mouse, donde X es la columna y Y es la fila. En tu codigo solo debes preguntar si es esa columna

Código Delphi [-]
begin
 Coordenadas := DBGrid5.MouseCoord(X,Y);

 if Coordenadas.X = 2 then 
  DBGrid5.Showhint := True //Si es columna 2 mostramos el hint
 else
  DBGrid5.Showhint := False; // sino no mostramos hint

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #7  
Antiguo 10-11-2008
gesjug gesjug is offline
Miembro
 
Registrado: jun 2007
Posts: 63
Poder: 17
gesjug Va por buen camino
funciona perfecto.
Muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 14:47:20
DBGrid. Saber la columna donde se encuentra el cursor adebonis Varios 1 06-12-2006 11:39:53
como saber que columna del dbgrid esta activa? JavierO Varios 4 02-11-2005 19:55:26
En que objeto está parado el mouse? Chelo Varios 7 10-08-2004 10:18:14
Como saber que control esta debajo del Mouse Ricardojosep OOP 2 02-07-2004 03:35:36


La franja horaria es GMT +2. Ahora son las 00:50:21.


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