How to change the page orientation without interacting with the common Print dialog box in Visual C++ (214617)
The information in this article applies to:
- The Microsoft Foundation Classes (MFC), when used with:
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Enterprise Edition 6.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 6.0
- Microsoft Visual C++, 32-bit Learning Edition 6.0
This article was previously published under Q214617 SUMMARY Default printing in MFC supports changing the page
orientation (Portrait or Landscape) by interacting with the common Print dialog
box. Sometimes, it may be necessary to change the page orientation at run time
without interacting with the Print dialog box; for example, when changing the
orientation to Landscape for printing a large report.
Mfcdvmd.exe is
a sample that shows how the page orientation can be changed without interacting
with the common Print dialog box. This is a self extracting .exe file.
MORE INFORMATIONThe
following files are available for download from the Microsoft Download
Center: Visual C++ 6.0 For
additional information about how to download Microsoft Support files, click the
following article number to view the article in the Microsoft Knowledge Base: 119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most
current virus-detection software that was available on the date that the file
was posted. The file is stored on security-enhanced servers that help to
prevent any unauthorized changes to the file.
Visual C++ .NET Release Date: August
14, 2002 For additional information about how to download Microsoft
Support files, click the following article number to view the article in the
Microsoft Knowledge Base: 119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most
current virus-detection software that was available on the date that the file
was posted. The file is stored on security-enhanced servers that help to
prevent any unauthorized changes to the file.
Sample Functionality First, the sample queries for the available printers, in the
OnPrepareDC function of CMyPrintView. Then, the sample allocates memory using
the queried PrinterInfo. This is done to query the name of the
printer. A member function ChangeDevMode() is added to CMyPrintView.
The ChangeDevMode() function follows these three steps for obtaining and
changing the DEVMODE buffer. The function takes a named printer and configures
a DEVMODE to print in Landscape if it supports these features. The resulting
DEVMODE is returned to the caller, that is the OnPrepareDC function. When
OnPrepareDC is done with the DEVMODE buffer, it is responsible for freeing the
memory. The change in the page orientation can be verified either by
printing on paper or by print-previewing. Even if the Print Setup dialog box is
set to Portrait, the page will print with a Landscape orientation. NOTE: To use the Print APIs, Winspool.h needs to be included.
REFERENCES For additional information, please see the following
article in the Microsoft Knowledge Base: 132239Calling ExtDeviceMode/DeviceCapabilities in Win32s App 167345How to modify printer settings with the DocumentProperties() function
Modification Type: | Major | Last Reviewed: | 4/28/2005 |
---|
Keywords: | kbhowto kbinfo kbdownload kbCmnDlgPrint kbfile kbprint kbSample KB214617 kbAudDeveloper |
---|
|