Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Grid (https://www.clubdelphi.com/foros/showthread.php?t=42761)

jazmin 22-04-2007 19:03:21

Grid
 
Hola chicos!

oye tengo una preguntota!

saben como le puedo hacer para poner un hint en una celda en especial de un grid?

de verdad me urge y necesito que alguien me heche una mano!

Robert01 22-04-2007 19:17:07

Hola

Buscando con yahoo encontré entre otras cosas esto que espero que te sirva.

Saludos

jazmin 22-04-2007 19:20:39

muchas gracias
 
yo se que vas a decir que soy una encajosa
pero ese articulo ya lo lei pero como soy primerisa pues no le entendi
haber si le allas algo y me explicas porque yo no le entendi
si no puedes no hay problema te agradesco enormemente tu ayuda

gracias chico!

besos!
:o

gluglu 22-04-2007 19:31:53

Aunque el texto que se menciona anteriormente puede resultarte demasiada información, intentaré darte mi punto de vista.

El DBGrid sólo tiene un único Hint. Por lo tanto no podrás mostrar un hint diferente para cada celda.

Se podría cambiar ese Hint del DBGrid a medida que vas pasando el ratón por encima del DBGrid.

Para ello tienes cierta información aqui. Además tendrás que jugar con Application.HintPause y Application.HintHidePause para activar cada vez el Hint, ya que automáticamente Windows no lo hará ya que no estás saliendo y volviendo a entrar del propio DBGrid.

De cualquiera manera, no es inmediato obtener la celda (fila y columna) de un DBGrid sobre la que se encuentra el cursor en cada momento.

Saludos, ;)

Robert01 22-04-2007 19:44:10

Si lo que usás es un stringgrid podés mostrar el contenido de cada celda a medida que te sitúas sobre ella.

Código Delphi [-]
type
  TForm1 = class(TForm)
    StringGrid: TStringGrid;
    procedure ShowCellHint(X,Y:Integer);
    procedure StringGridMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form1: TForm1;
  LastRow, LastCol : Integer;

implementation

{$R *.dfm}

Procedure TForm1.ShowCellHint(X,Y:Integer);
var
  ACol, ARow : Integer;
begin
  If StringGrid.ShowHint = False Then
     StringGrid.ShowHint := True;
  StringGrid.MouseToCell(X, Y, ACol, ARow);
  If (ACol <> -1) And (ARow <> -1) Then
      StringGrid.Hint:=StringGrid.Cells[ACol,ARow];
  If (ACol<>LastCol) or (ARow<>LastRow) Then
  begin
    Application.CancelHint;
    LastCol:=ACol;
    LastRow:=ARow;
  end;
end;


procedure TForm1.StringGridMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
 ShowCellHint(X,Y);
end;

Saludos


La franja horaria es GMT +2. Ahora son las 13:42:39.

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