Fórum Stringgrid - Onde cliquei? #185923

02/10/2003

0

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


grato desde já!


Marciobrignol

Marciobrignol

Responder

Posts

02/10/2003

Ljr

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar