BUG: Win95 GDI Resets Window/ViewportOrg in MM_TEXT ModeID: Q152236
|
An application marked as 3.1 will have its window origin and viewport
origin reset on Windows 95 when StartPage() is called and the device
context (DC) is in the MM_TEXT mapping mode.
This is a problem only in Windows 95 for both 16-bit and 32-bit
applications marked as 3.1.
This bug occurs when Enhanced metafiles (EMF) are used to print in Windows
95.
In Windows 95, all output to a non-Postsript printer spools as EMFs. While
EMF spooling or EMF banding, GDI fails to record the window or viewport
origins unless the mapping mode is set to something other than MM_TEXT.
This problem should not occur when printing to Postscript printers, because
these printers do not support spooling using EMFs.
The best way to work around this behavior is to call StartPage() before changing any DC attributes. Doing this guarantees that the DC attributes do not get reset regardless of the operating system or whether the application is marked 3.1 or 4.0.
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
When an application prints, Windows 95 directs all GDI output calls for a
page to an ENHANCED metafile. When EndPage is called, GDI steps through the
bands on the page and plays the metafile into every band. In Windows 95,
GDI fails to record the origin and extent information into the metafile
unless the mapping mode is set to something other than MM_TEXT.
In Windows 95, StartPage resets the printer DC attributes for 4.0-marked
applications, while 3.1-marked applications do not reset the printer DC
attributes until EndPage is called. Windows NT 3.x does not reset printer
DC attributes at all during a print job.
For additional information about , please see the following
article(s) in the Microsoft Knowledge Base:
Q125696 StartPage/EndPage Resets Printer DC Attributes in Windows 95
Additional query words: 3.10 4.00 SetWindowOrg SetViewportOrg
Keywords : kbSDKWin32 kbWinOS310 kbWinOS95 kbSDKWin16
Version : WINDOWS:3.11
Platform : WINDOWS
Issue type : kbbug
Last Reviewed: June 15, 1999