onDraw und onPaint
-
Hi,
ich habe mir eine wunderschöne Liste in meiner SDI-Anwedung aus einer Datenbank heraus erstellt. Hat auch alles soweit super geklappt.
nun möchte ich diese drucken. Da die Liste aber zu lang ist muss er andauernd eine neue Seite mit Kopf und so machen. Ist auch klar soweit, SetMaxPage setzen und dann mit ner Schleife immer nur eine gewisse Menge an Zeilen anzeigen.
Aber wenn ich in onPrint nun was zeichne, dann ist immernoch alles aus der onDraw Funktion zu sehen. Wie bekomme ich den Inhalt der Seite vorm drucken leer?
ich habe ebenschon lauter threads über CDC gelesen, aber nirgends was dazu gefunden. Auch bei google hab ich nix gefunden? Hat wer nen link oder nen tipp?
thx schonmal..
-
hi,
ist ich habe soetwas noch nie gemacht, aber was wäre mit einem flag (bool m_bImDruck) oder soetwas, die du in der onDraw Funktion abfragst.
wenn du in onPrint auf true setzt, danach wieder false ... ???vieleicht geht das ja.
gruß
volker
-
Hallo,
so funktionierts bestimmt:
In deiner OnDraw-Funktion folgende Zeite unkittelbar nach der öffnenden geschweiften Klammer ({) Einfügen:
if(pDC->IsPrinting()) return;Das erfordert natürlich, daß Du alles was aufs Papier soll ausschließlich in der Funktion OnPrint() schreiben mußt. Aber dazu ist OnPrint() ja auch gedacht.
Gruß
WOODZ
-
Ahja,
genau sowas meine ich, werde ich gleich mal ausprobieren. Und es ist ja auch genau das was ich bezwecken will, das ich das Bild im onPrint komplett neu / anders aufbauen kann als ich es bei onDraw sehe.
Achja und ich meinte im Topic natürlich onPrint und nicht onPaint, aber das habt ihr ja schon gemerkt

thx..