Olá Pessoal, Fiz um componente e adicionei a funcionalidade para destacar a linha selecionada da DBGrid mesmo em edição, semelhante a dgRowSelect, porém esta não permite edição.
Pesquisando da internet, fiz o componente abaixo, funciona bem, mas tem um efeito colateral, quando as colunas são muitas e navegar para as colunas da direita e pressionar seta para mudar de registro, não pinta a célula da primeira coluna. Alguma sugestão para resolver este efeito colateral ou uma solução melhor? Testes efetuados com Delphi 2007 e Delphi 2010 unit MDBGrid; interface uses Windows, SysUtils, Classes, Controls, Grids, DBGrids, DBClient, Graphics, Forms; type TMDBGrid = class(TDBGrid) private protected procedure DrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); override; public published end; procedure Register; implementation procedure Register; begin RegisterComponents('Paulo', [TMDBGrid]); end; procedure TMDBGrid.DrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if not (gdSelected in State) and (Rect.Top = CellRect(DataCol, Row).Top) then begin Canvas.Brush.Color := $00FFEFDF; Canvas.FillRect(Rect); DefaultDrawDataCell(Rect, Column.Field, State); end; inherited; end; end. ---- Paulo Geloramo www.assisinformatica.com