Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen (https://www.delphipraxis.net/84655-dbgrid-canvas-brush-color-dgrowselect-anzeigen.html)

HolgerCW 19. Jan 2007 15:55


DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Hallo zusammen,

ich habe in dem Ereignis on DrawColumnCell folgenden Code hinterlegt:

Delphi-Quellcode:
if DataModuleConnectionGeraete.QueryVerlauf['GEBUCHT'] = NULL then
begin
  DBGridVerlauf.Canvas.Brush.Color :=clmaroon;
  DBGridVerlauf.DefaultDrawColumnCell(Rect, DataCol, Column,State);
end;
Wie bekomme ich es hin, das die mit der Farbe clmaroon ausgefüllten Zeilen, auch beim selktieren der Zeile grau angezeigt werden und nicht maroon bleiben ?

Gruss

Holger

mkinzler 19. Jan 2007 15:59

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Das mußt du seber tun.
Der Status steht im Parameter State

HolgerCW 19. Jan 2007 16:04

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Und nach was frage ich den Parameter State ab ?

mkinzler 19. Jan 2007 16:07

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Zitat:

Zitat von HolgerCW
Und nach was frage ich den Parameter State ab ?

Delphi-Quellcode:
if State = gdSelected ...

HolgerCW 19. Jan 2007 16:11

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Ja so klappt es:

Delphi-Quellcode:
if State <> [gdselected] then
begin
 DBGridVerlauf.Canvas.Brush.Color :=clmaroon;
 DBGridVerlauf.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Nur bleibt die erste Spalte in der ursprünglichen Farbe. Warum und geht das auch zu beheben ?

Gruss

Holger

mkinzler 19. Jan 2007 16:12

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Zitat:

Nur bleibt die erste Spalte in der ursprünglichen Farbe. Warum und geht das auch zu beheben ?
Delphi geht halt davon aus, wenn du selber zeichne willszt, das du das dann miterledigst.

HolgerCW 19. Jan 2007 16:13

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Wie erledige ich das mit ?

Gruss und schonmal danke für die Hilfe ...

Holger

mkinzler 19. Jan 2007 16:58

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Indem du in der State-Abfrage sie jeweilige Farbe die setzt

Delphi-Quellcode:
if State = [gdselected] then
begin
    DBGridVerlauf.Canvas.Brush.Color :=clmaroon
else
  //Sonstige Farbe

DBGridVerlauf.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

HolgerCW 22. Jan 2007 08:38

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Hallo,

so habe ich das auch gemacht. Nur bleibt die erste Spalte trotzdem in der alten Farbe.

Vielleicht ncoh einen Hinweis ?

Gruss

Holger

mkinzler 22. Jan 2007 09:01

Re: DBGrid.Canvas.Brush.Color -> dgrowselect anzeigen
 
Hast du mal geschaut, ob die Routine überhaupt aufgerufen wird?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz