Mega Code Archive

 
Categories / Delphi / VCL
 

How can i activate different hints for each cell in a grid

Question: How can I activate different hints for each cell in a grid control? Answer: The following example demonstrates tracking the mouse movements in a StringGrid component. If the mouse moves to a different cell in the grid, a new hint window is displayed, showing the row and column numbers of the cell. Example: type TForm1 = class(TForm) StringGrid1: TStringGrid; procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); private { Private declarations } Col : integer; Row : integer; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin StringGrid1.Hint := '0 0'; StringGrid1.ShowHint := True; end; procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var r : integer; c : integer; begin StringGrid1.MouseToCell(X, Y, C, R); if ((Row <> r) or (Col <> c)) then begin Row := r; Col := c; Application.CancelHint; StringGrid1.Hint := IntToStr(r) + #32 + IntToStr(c); end; end;