Stringgrid - Onde cliquei?

Delphi

02/10/2003

Olá pessoal, como sei o numero da linha em que eu cliquei?


grato desde já!


Marciobrignol

Marciobrignol

Curtidas 0

Respostas

Ljr

Ljr

02/10/2003

Declare uma variavel apos a palavra reservada private do form que vc esta trabalhando com o nome de LINHA e declare a seguinte procedure

//------------------------------------------------------------------------------
//Procedimento para devolver a linha e a coluna do StringGrid que está sob o cursor do mouse
procedure MouseCell(Grid: TStringGrid;
  var Coluna, Linha: integer);
var
  Pt: TPoint;
begin
  GetCursorPos(Pt);
  Pt := Grid.ScreenToClient(Pt);
  if PtInRect(Grid.ClientRect, Pt) then
  Grid.MouseToCell(Pt.X, Pt.Y, Coluna, Linha)
  else begin
  Coluna := -1;
  Linha := -1;
  end;
end;
//------------------------------------------------------------------------------



Agora insira o seguinte codigo no evento OnMouseMove do stringgrid


procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  Coluna: integer;
begin
  MouseCell(StringGrid1, Coluna, Linha);
end;



Finalmente no evento OnClick do stringgrid coloque

//------------------------------------------------------------------------------
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
 Apagar.Enabled:=true;
 ShowMessage(IntToStr(linha));
end;



espero ter ajudado


GOSTEI 0
POSTAR