Seitenansicht
-
Hi,
ich habe ein Problemchen mit dem Drucken/Seitenansicht. Mit OnDraw habe ich ein etwas in einen Rahmen von 1000x600 px gezeichnet und möchte das nun ausdrucken können. Dabei habe ich die Vorgabe, dass der Ausdruck für DIN A4 mit dem Faktor 2.8 anzupassen ist.
Jetzt durchsuche ich schon seit gestern Foren und Skripte, wie ich so etwas lösen kann, bekomme aber absolut keinen Draht dazu. Mit den bisherigen Standardeinstellungen erscheint das Bild nur ganz klein in der Seitenansicht.
Vielleicht könnt ihr mir dabei ja eine Starthilfe geben.
Viele Grüße, Simon
-
Das macht man nicht mit Faktoren...
Man benutzt OnPrepareDC und verwendet einen entsprechenden Mapping Mode (Anisotropic bietet sich hier an).
Dann hat man sogenante logische und physische Koordinaten. Die physischen Koordinaten sind die entsprechende Druckerauflösung, die logischen Koordinaten, dass was Du als Einheiten haben möchtest.
Lies mal was zu Mapping Modes:
http://msdn.microsoft.com/en-us/library/dd145045(VS.85).aspx
-
void CPView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) CView::OnPrepareDC(pDC, pInfo); if(pDC->IsPrinting()) { pDC->SetMapMode(MM_ANISOTROPIC); CRect windowRect(0,0,220,100); pDC->SetWindowExt(windowRect.Size()); pDC->SetWindowOrg(windowRect.TopLeft()); CRect client; GetClientRect(&client); pDC->SetViewportExt(client.Size()); pDC->SetViewportOrg(client.TopLeft()); } }
Ich habs jetzt mal so probiert. Die Ansicht sieht dann auch ganz brauchbar aus. Nur vestehe ich nicht so ganz, wie ich das ganze nun ins Querformat in der Seitenansicht bekomme.