Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

feststellen der seitengrösse VOR dem drucken

0 views
Skip to first unread message

André Schmidt

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to
Hallo!
Ich habe probleme bei der angabe der max. Seitenzahl im Drucken-Dialog. Um zu
ermitteln wieviele seiten mein dokument umfasst bräuchte ich die gewählte
seitengrösse (zb. DINA4, DINA5, quer oder hochformat)
Während des druckens hab ich in der OnPrint-Methode eine gültige seitengrösse
in pInfo->m_rectDraw aber das nützt mir nichts da ich ja VORHER wissen möchte
wie gross die seite ist.
Hat da jemand eine idee wie ich das machen kann? Logisch wäre meiner meinung
nach, dass spätestens nach dem aufruf von DoPreparePrinting die seitengrösse
bekannt sein müsste... *schulterzuck* ist sie aber scheinbar nicht...
Mfg,
André

Martin Richter [MVP]

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to

Hallo André!

Du hast den DC des Druckers nach DoPreparePrinting in
pInfo->m_pPD->m_pd.hDC. Mit diesem Wert kannst Du alle Escape oder
GetDeviceCaps Befehle ausführen. Die Entsprechenden Werte erhälst Du mit
PHYSICALHEIGHT und PHYSICALWIDTH.
Zusätzlich sind hier PHYSICALOFFSETX und PHYSICALOFFSETY zu berücksichtigen.
Bzw. HORZSIZE und VERTSIZE, die Du aber über das entsprechende m_rectDraw
vorbelegt erhälst.

--
Martin Richter [MVP] WWJD
"In C we had to code our own bugs. In C++ we can inherit them."
FAQ,s : http://mfcfaq.stingray.com/
Samples: http://codeguru.developer.com http://www.codeproject.com

André Schmidt

unread,
Aug 16, 2000, 3:00:00 AM8/16/00
to
Hallo Martin!
Das klappt wunderbar so. Schade das man nicht schon vor dem Dialog die grösse
weiss um die seitenanzahl zu berechnen. Aber egal erstmal.
pInfo->m_rectDraw.Width() liefert nach DoPreparePrinting übrigens noch nicht
die korrekte seitenbreite. Warum auch immer...
Und danke nochmal für die schnelle Antwort!!
André
0 new messages