Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#9

Re: StringGrid mit Farben drucken

  Alt 6. Okt 2009, 09:27
Hallo,

mit "bezug zum Grid" meinte ich den Bezug zu den Grid-Zellen.

In OnDrawCell werden abhängig von der aktuellen Ansicht und den Erfordernissen(eine Zelle muss neu gezeichnet werden) die Farben in den Bereich der jeweiligen Zelle gemalt. Eine Verbindung der Farbe mit der Zelle ist dann nicht gegeben, es sei denn Du verwaltest die Farben in Objects oder einer anderen Datenhaltung.

Werden die Farben anhand von Bedingungen den Zellen zugeordnet, gibt es zwei Wege:

1.)
Bei der Druckausgabe wird analog der Bedingungen in OnDrawcell die Farbe ermittelt.

oder

2.) Das Grid wird paralell mit der Druckausgabe so gescrollt, das ein OnDrawCell ausgelöst wird und man auf die dann gezeichneten Zellen/Farbe zugreifen kann.
Im der EE habe ich mal einen Beitrag hinterlegt der die Vorgehensweise realisiert.
[TStringGrid, TBitmap, VCL Win32] ... ein Stringgrid als Bitmap ausgeben/speichern
Der Code gibt das Grid auf einem Bitmap aus. Entweder den Code so abändern das die Ausgabe direkt auf Printer.Canvas erfolgt(schwierig wenn das Grid nicht auf eine Seite passt), oder das Bitmap Seitenweise auf Printer.Canvas übertragen.

Ich halte die Version 1.) für leichter realisierbar, insbesondere wenn das Grid sich über mehrere Seiten erstreckt.

Poste doch mal deine OnDrawcell-Behandlung, mit mehr Detail-Wissen kann man genaueres sagen.
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat