Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Einzelne Zelle in DBGrid einfärben (https://www.delphipraxis.net/165224-einzelne-zelle-dbgrid-einfaerben.html)

t0mmy 19. Dez 2011 14:18

Einzelne Zelle in DBGrid einfärben
 
Hallo!

Also kann ich und wenn ja kann mir jemand hilfestellung leisten? - Eine Zelle in einer DBGrid so einfärben als wäre es ein Fortschrittsbalken, sprich die länge des balkens bestimmend einfärben?

himitsu 19. Dez 2011 14:23

AW: Einzelne Zelle in DBGrid einfärben
 
Wie man einzelne Zellen zeichnet wird hier überall, an bestimmt jeder 10 Ecke erklärt.

Und was du dort reinzeichnest ist vollkommen egal.

Egal ob ein ausgemaltes Rechteck, wie in vielen Demos/Threads, oder was Anspruchvolleres, wie deinen Balken.
Für Letzteres gibt es genügend Tutorials, zur Nutzung des Canvas.

t0mmy 20. Dez 2011 08:21

AW: Einzelne Zelle in DBGrid einfärben
 
Hmm Suche=vergebens ich habe nichts gefunden oder suche halt falsch -.-

DeddyH 20. Dez 2011 08:25

AW: Einzelne Zelle in DBGrid einfärben
 
[DP]DBGrid färben[/DP], damit findet man nichts? Das mag ich nicht glauben.

t0mmy 20. Dez 2011 08:29

AW: Einzelne Zelle in DBGrid einfärben
 
Ja das mit dem Färben bekomm ich hin aber das ich in einer Zelle ein Rechteck zeichnen möchte und das einfärben möchte -.-

DeddyH 20. Dez 2011 08:31

AW: Einzelne Zelle in DBGrid einfärben
 
Wie zeichnest Du denn sonst ein Rechteck?

t0mmy 20. Dez 2011 08:39

AW: Einzelne Zelle in DBGrid einfärben
 
Ja mit DBGrid1.Canvas.Rectangle(x,x,x,x)
Jedoch möchte ich das er mir in die zweite Spalte, erste zeile diesen balken hinzeichnet oder 3te spalte... und das es genau hineinpasst -.-

DeddyH 20. Dez 2011 08:44

AW: Einzelne Zelle in DBGrid einfärben
 
Hast Du Dir die Parameter von OnDrawColumnCell einmal genau angeschaut? Die Spalte und das Rechteck der aktuellen Zelle werden Dir doch übergeben.

t0mmy 20. Dez 2011 08:48

AW: Einzelne Zelle in DBGrid einfärben
 
Jap die hab ich mir angesehn ich kann da nur mit Rect. Left, Right, Bottom usw.. was machen aber das ich sage es soll in der zweiten Spalte das Rechteck genau so breit werden das check ich nicht -.- bin da in sachen Draw ziemlich ein anfänger -.-

DeddyH 20. Dez 2011 08:58

AW: Einzelne Zelle in DBGrid einfärben
 
Na gut, hier ein Beispiel:
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
  if Column.FieldName = 'ObjectId' then
    begin
      TDBGrid(Sender).Canvas.Brush.Color := clRed;
      TDBGrid(Sender).Canvas.RectAngle(Rect);
    end;
end;
Damit wird die Spalte, die das Feld "ObjectId" darstellt, mit Rot ausgefüllt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.
Seite 1 von 2  1 2      

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