![]() |
Farbe von RowSelect ändern
aloha zusammen,
im OnDrawColumnCell kann ich mit folgendem quellcode die farbe des rowselect's änderen:
Delphi-Quellcode:
es werden alles spalten des dbgrids geändert, nur nicht die erste... weiß jemand warum?
If State = [gdSelected] Then
Begin dbgrid_pgi.Canvas.Font.Color := clGray; dbgrid_pgi.Canvas.Brush.Color := $00FDC699; dbgrid_pgi.DefaultDrawColumnCell(Rect, DataCol, Column, State); End; |
Re: Farbe von RowSelect ändern
Du solltest im else auf die Standardfarbe zurücksetzen
|
Re: Farbe von RowSelect ändern
ich habe mich glaub etwas falsch ausgedruckt...
wenn ich über die unten geposteten source die aktuell markiert zeile in eine andere farbe ändere, werden alle spalten, von der markierten zeile, geändert bis auf die 1. spalte diese hat weiterhin die standardfarbe, und diese soll aber auch noch die vorgegeben farbe erhalten... |
Re: Farbe von RowSelect ändern
Welchen Wert hat .DefaultDrawing?
|
Re: Farbe von RowSelect ändern
Befindet sich das erste Feld evt. im Editiermodus? Dann muss bei Bedarf der integrierte Editor direkt angesprochen werden.
roga |
Re: Farbe von RowSelect ändern
nein, die edit funktion für das dbgrid bzw. deren feler habe ich auf false gesetzt!
|
Re: Farbe von RowSelect ändern
Zitat:
ansonsten wurde bereits genannt, dass du in einem else-Zweig die default-Farbe setzen solltest. so in etwa sollte das imho aussehen
Delphi-Quellcode:
HTH Frank
if (gdSelected in State) then
begin dbgrid_pgi.Canvas.Font.Color := clGray; dbgrid_pgi.Canvas.Brush.Color := $00FDC699; end else begin dbgrid_pgi.Canvas.Font.Color := dbgrid_pgi.Font.Color; dbgrid_pgi.Canvas.Brush.Color := dbgrid_pgi.Color; end; dbgrid_pgi.Canvas.FillRect(rect); dbgrid_pgi.Canvas.TextOut(rect.left+2,rect.top+2,dbgrid_pgi.Cells[Col,Row]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr. |
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