Hola.
La forma mas simple de eliminar una fila del StringGrid es acceder al método
DeleteRow para lo cuál previamente debes desproteger la clase
TStringGrid:
Código Delphi
[-]
...
type
TStringGrid = class(Grids.TStringGrid);
TForm1 = class(TForm)
sgDetalle: TStringGrid;
...
implementation
procedure TForm1.btnDeleteRowClick(Sender: TObject);
begin
if MessageBox(0,'¿ Elimina la línea actual ?','', MB_ICONQUESTION+MB_YESNO) = IDYES then
sgDetalle.DeleteRow( sgDetalle.Row );
end;
...
Saludos