Autor Beitrag
andy05
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 24.02.03 16:33 
Hallo, ich möchte gerne die Farbe der einzelnen Tafeln in einer TDBCtrlGrid beeinflussen. Kann mir hier jemand helfen ?

danke
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Mo 24.02.03 16:35 
Hallo!

Das kann man im Ereignis OnDrawColumnCell abändern. In der Online-Hilfe von Delphi gibts dazu sogar ein Beispiel...

(vorausgesetzt, du meinst mit "Tafeln" die Zellen. Wenn Du die Kopfzeile meinst: Das geht in der Eigenschaft "FixedColor"!)

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
andy05 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 24.02.03 16:43 
Bei der DBCtrlGrid habe ich diese Eigenschaft leider nicht zur Verfügung (OnDrawColumnCell) ??? Ich denke, dass dies irgendwie mit OnPaintPanel zu lösen ist. Nur wie ???

Danke für die schnelle Antwort !!!
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Mo 24.02.03 16:49 
Ach so,

sorry, hab falsch gelesen (War ein hartes Wochenende *g*)

Also, es gibt von Haus auf die Eigenschaften Color und SelectedColor. Mit SelectedColor kann man den aktiven Datensatz verändern. Sonst hab ich damit leider noch nichts gemacht :-(

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
andy05 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 24.02.03 16:52 
Finde heute leider auch keine Lösung. Mir geht es schlicht nur darum, dass ich je nach Inhalt des DB-Feldes die Farbe der Tafel zur Laufzeit ändern kann. Sonst bekomme ich eigentlich immer fast alles hin. Hierbei klemmt es jedoch ! :cry:

Trotzdem DANKE !
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Di 25.02.03 07:16 
Hi
ein relativ simples Beispiel dazu:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.grdPaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer);
begin
  if  Copy(tbl.Fields[1].AsString, 1, 1) = 'S' then
      grd.Canvas.Brush.Color := clRed
  else
      grd.Canvas.Brush.Color := grd.Color;
  grd.Canvas.Rectangle(0, 0, grd.PanelWidth,grd.PanelHeight);
end;

Abhängig vom Inhalt eines Tabellenfeldes wird das Panel in Rot oder in der Standardfarbe gezeichnet.

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
andy05 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 25.02.03 10:06 
Danke für Dein posting,

aber auch leider nicht ganz das was ich brauche. Mit Deinem Code färbe ich die gesamte DBCtrlGrid ein. das möchte ich jedoch nicht ! ich will jede einzelne Tafel abhängig von den Dateninhalten mit unterschiedlichen Farben darstellen / zeichnen lassen.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mi 26.02.03 07:42 
Hi
andy05 hat folgendes geschrieben:
Mit Deinem Code färbe ich die gesamte DBCtrlGrid ein. das möchte ich jedoch nicht !

Hast du das eigentlich tatsächlich mal ausprobiert :?!?: Wie's aussieht nicht

andy05 hat folgendes geschrieben:

ich will jede einzelne Tafel abhängig von den Dateninhalten mit unterschiedlichen Farben darstellen / zeichnen lassen.


Genau das wird hier gemacht. :!:

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
andy05 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 10.03.03 13:01 
Titel: SORRY
sollte beim nächsten mal richtig hinschauen !!! Funktioniert super ! Danke