Версия для печати

Как создать отдельную подсказку (hint) для каждой ячейки StringGrid?

Оцените материал
(0 голосов)

Как создать отдельную подсказку (hint) для каждой ячейки StringGrid?

В приведенном примере отслеживается движение курсора мыши - при перемещении между ячейками StringGrid'а - появляется окно подсказки(hint), показывающее номер текущей строки и колонки.

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);
  with StringGrid1 do
    begin
      if ((Row <> r) or(Col <> c)) then
        begin
          Row := r;
          Col := c;
          Application.CancelHint;
          StringGrid1.Hint :=IntToStr(r)+#32+IntToStr(c);
        end;
    end;
end;