Hola gsilvei.
Sigo sin tener en claro la finalidad de esa 'Selección', ya que la misma sólo permanece hasta que cambies de línea.
Pero bueno, esto cambia el color de la línea seleccionada a rojo con letras blancas hasta que se haga click en el MenuItem 'No seleccionar':
Código Delphi
[-]
...
procedure TForm1.FormShow(Sender: TObject);
begin
FSelec:= False; end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (gdSelected in State) and FSelec then
DBGrid1.Canvas.Brush.Color:= clRed;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
procedure TForm1.MenuItemSeleccionadoClick(Sender: TObject);
begin
DBGrid1.Options:= DBGrid1.Options + [dgRowSelect];
FSelec:= True;
DBGrid1.Invalidate;
end;
procedure TForm1.MenuItemNoseleccionadoClick(Sender: TObject);
begin
DBGrid1.Options:= DBGrid1.Options - [dgRowSelect];
FSelec:= False;
DBGrid1.Invalidate;
end;
...
Saludos.