AW: Einzelne Zelle in DBGrid einfärben
Danke aber wie kann ich nur eine gewisse länge einfärben?
|
AW: Einzelne Zelle in DBGrid einfärben
Noch' n Gedicht:
Delphi-Quellcode:
uses Types; //für Rect-Funktion benötigt
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var R: TRect; Gr: TDBGrid; RdPercent: integer; begin Gr := Sender as TDBGrid; //Standard-Zeichnen ohne Berücksichtigung von State Gr.DefaultDrawColumnCell(Rect, DataCol, Column, State); //Spalte "ObjectId" selbst zeichnen if Column.FieldName = 'ObjectId' then begin //roter Rahmen R := Rect; Gr.Canvas.Pen.Color := clRed; Gr.Canvas.Rectangle(R); //Zufallswert zwischen 0 und 100 als fiktive Prozentangabe RdPercent := Random(101); //Rechteck anhand des Zufallswertes neu definieren R := Types.Rect(R.Left, R.Top, R.Left + trunc((R.Right - R.Left) * (RdPercent / 100)), R.Bottom); //...und einfärben Gr.Canvas.Brush.Color := clRed; //Prozentangabe mittig ausgeben Gr.Canvas.Rectangle(R); Gr.Canvas.Brush.Style := bsClear; R := Rect; DrawText(Gr.Canvas.Handle, PChar(IntToStr(RdPercent) + '%'), -1, R, DT_CENTER or DT_VCENTER or DT_SINGLELINE); end; |
AW: Einzelne Zelle in DBGrid einfärben
Welche Uses muss ich für Types.Rect einbinden? Es wird nämlich nicht erkannt
|
AW: Einzelne Zelle in DBGrid einfärben
Schau mal in die allererste Zeile meines Beispiels, oder hieß die Unit unter Delphi 7 anders? Zur Not wirf halt einen Blick in die Hilfe.
|
AW: Einzelne Zelle in DBGrid einfärben
hmm immer wieder das genaue lesn! sry für die Frage -.-
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz