Einzelnen Beitrag anzeigen

Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#1

DBGrid, selecktierte Zeile markieren.

  Alt 7. Mär 2020, 15:44
Datenbank: Firebird • Version: 2.5 • Zugriff über: TDataset
Hallo,

um die Farben in einem DBGrid zu ändern habe ich folgende Routine eingetragen:

Delphi-Quellcode:
procedure TFrameArtikel.GridArtikelGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  with GridArtikelGrid.Canvas do
  begin
    if State = [gdSelected, gdFocused] then
    begin
      Brush.Color := $00D8D8D8; //Farbe für die Zelle mit dem Focus
      Font.Color := $00000000 ; //Farbe für die Schrift mit dem Focus
    end
    else
    begin
       Brush.Color := $00FFFFFF;
       Font.Color := $00000000;
    end;
 
    FillRect( Rect );
    TextOut( Rect.Left, Rect.Top, Column.Field.Text );
  end;
end;
Jetzt wird leider nur eine Zelle entsprechend den Änderungen markiert, aber nicht mehr die ganze Zeile. Obwohl 'dgRowselect = True' gesetzt ist.
Muß ich in 'FillRect( Rect );' das 'Rect' durch etwas anderes ersetzen?

Kann Jemand helfen?
Danke, Luckner
  Mit Zitat antworten Zitat