Como trocar a cor da linha que está sendo editada no dbgrid?

Delphi

07/01/2005

Sei que existem milhares de tópicos sobre cores e fontes no dbgrid, mas me deparei com uma situação que não consegui solucionar.

Como poderia estar fazendo pra deixar uma linha inteira que está sendo editada com outra cor ou outra fonte, e não apenas a célula na qual está o foco? Não posso usar o gdselected e nem o gdfocused, e tb não posso estabelecer nenhuma condição porque no DrawColumnCell eu não sei qual célula está com o foco, se a 5º coluna está com o foco, não consigo aplicar a mudança de cor na 1º coluna.... gostaria de deixar a linha inteira modifica, com RowSelect selecionado como verdadeiro funciona, mas desabilita a edição...

Alguém poderia me ajudar? :D


Renanfog

Renanfog

Curtidas 0

Respostas

Qmd

Qmd

07/01/2005

oia:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if ClientDataSet1.State in [dsEdit, dsInsert] then
begin
if Rect.Top = TStringGrid(dbgrid1).CellRect(0,TStringGrid(dbgrid1).Row).Top then
begin
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.Brush.Color := clblue;
DBGrid1.Canvas.Font.Color := clYellow;
DBGrid1.DefaultDrawDataCell(Rect,Column.Field, State);
end
end;

end;




Falow


QmD
qmd@usercontrol.com.br
http://www.usercontrol.com.br
icq: 15630894


GOSTEI 0
POSTAR