![]() |
Datenbank: Mysql • Version: 4.1 • Zugriff über: mydac
DrawColumnCell (aktieven Feld anders darstellen)
Hallo.
Delphi-Quellcode:
Das ist mein Code. Nun will ich den aktiven Feld ander darstellen. Z.b Blaue umrahmung.
procedure DbGrib_DrawColumnCell_Einstellung(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If Odd(TPDJXPDBGrid(sender).DataSource.DataSet.RecNo) then begin TPDJXPDBGrid(sender).Canvas.Font.Color:=Dbgrib_schrift_farbe1; TPDJXPDBGrid(sender).Canvas.Brush.Color:=Dbgrib_farbe_1; end else begin TPDJXPDBGrid(sender).Canvas.Font.Color:=Dbgrib_schrift_farbe2; TPDJXPDBGrid(sender).Canvas.Brush.Color:=Dbgrib_farbe_2; end; TPDJXPDBGrid(sender).DefaultDrawColumnCell (Rect, DataCol, Column, State); end; Wie mache ich das? Momentan sieht das so aus, das das aktives Feld "garnicht" markiert wird... |
Re: DrawColumnCell (aktieven Feld anders darstellen)
Ahoi Karstadt,
ich würde im Anschluß noch ein Rechteck zeichnen:
Delphi-Quellcode:
Getippt und nicht getestet.
procedure DbGrib_DrawColumnCell_Einstellung(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var r: TRect; begin with Sender as TPDJXPDBGrid do begin if Odd(DataSource.DataSet.RecNo) then begin Canvas.Font.Color := Dbgrib_schrift_farbe1; Canvas.Brush.Color := Dbgrib_farbe_1; end else begin Canvas.Font.Color := Dbgrib_schrift_farbe2; Canvas.Brush.Color := Dbgrib_farbe_2; end; DefaultDrawColumnCell(Rect, DataCol, Column, State); r := Rect; InflateRect(r, -1, -1); Canvas.Brush.Color := clBlue; FrameRect(r); end; end; Grüße vom marabu |
Re: DrawColumnCell (aktieven Feld anders darstellen)
Delphi-Quellcode:
Incompatible Typen HDC und TRect :(FrameRect(r); |
Re: DrawColumnCell (aktieven Feld anders darstellen)
Hallo
Delphi-Quellcode:
einfach mal in der Delphi-Hilfe nachsehen ...
Canvas.FrameRect(r);
Der Grund für deine Fehlermeldung ist übrigens, dass ohne das "Canvas." die Original-Windowsfunktion verwendet wird (siehe API-Hilfe), und die hat als ersten Parameter halt nen HDC. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 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