Veröffentlicht 10. Oktober 200222 j Hi, ich hab in meinem Programm eine Funktion zum Drucken (ohne MFC), damit das mit verschiedenen Auflösungen Funktioniert habe ich den Drucker Device Context mit den Funktionen: SetMapMode(pd.hDC, MM_ANISOTROPIC); SetWindowOrgEx(pd.hDC, 0, 0,0); SetWindowExtEx(pd.hDC, 600, 600,0); // logical window is 600 dpi SetViewportOrgEx(pd.hDC, 0, 0,0); SetViewportExtEx(pd.hDC, GetDeviceCaps(pd.hDC, LOGPIXELSX), GetDeviceCaps(pd.hDC, LOGPIXELSY),0); [/PHP] festgelegt und dann bei der Funktion [i]TextOut[/i] die Koordinaten anhand der DPI einstellung berechnet. Das seltsame ist nur das es bei Win98 einwandfrei klappt und bei WinXP bei dem selben Drucker und der selben Auflösung nicht klappt. Die logische Größe des Blattes und die logischen Koordinaten sind bei 98 und XP gleich (sollte ja auch so sein) trotzdem druckt er etwas, das er bei 98 ganz unten aufs Blatt schreibt, bei XP (obwohl Koordinaten gleich) in die Mitte des Blattes. Hat irgendwer ne Idee? Gruß Guybrush
10. Oktober 200222 j Autor Problem gelöst, wenn ich die 5 oben genannten Funktionen weglasse klappts.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.