15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


MFC and Landscape Printing

Gerry Sweeney -- gerry@hornbill.com
Wednesday, December 04, 1996


Environment: VC++ 4.2-flat, Win 95, WinNT 4.0


Dear Listers,

I have an application that prints (good he!) and I would like to print in 
landscape by default. I am sure I have seen the answer to this on the list 
at some point but it is not in my archives.

Can anyone help?


Regards

Gerry Sweeney
gerry@hornbill.com



Vincent W. Mayfield -- vmax@gulf.net
Saturday, December 07, 1996

[Mini-digest: 3 responses]

Gerry,
	Check out the following Knowledge base article in the Visual C++ books on line : 

How to Change Default Printer Settings in an MFC Application
PSS ID Number: Q126897
Article last modified on 01-21-1996
 
Vinny

Vincent W. Mayfield
Senior Software Engineer
vmax@gulf.net
"It is better to beg for forgiveness than ask for permission."


----------
From: 	Gerry Sweeney[SMTP:gerry@hornbill.com]
Sent: 	Wednesday, December 04, 1996 4:40 AM
To: 	mfc-l
Subject: 	MFC and Landscape Printing


Environment: VC++ 4.2-flat, Win 95, WinNT 4.0


Dear Listers,

I have an application that prints (good he!) and I would like to print in 
landscape by default. I am sure I have seen the answer to this on the list 
at some point but it is not in my archives.

Can anyone help?


Regards

Gerry Sweeney
gerry@hornbill.com
-----From: "Sanu M Palil" 


Change the paper orientation inside your View class
OnPrepareDC as shown below.

void CMyView::OnPrepareDC(CDC* pDC,CPrintInfo* pInfo)
{                                  
    LPDEVMODE       pDevMode;
                
    if (pDC->IsPrinting())
    {
        pDevMode = pInfo->m_pPD->GetDevMode();
        pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
        pDC->ResetDC(pDevMode);
    } 
}

- Sanu.
----------
> From: Gerry Sweeney 
> To: mfc-l 
> Subject: MFC and Landscape Printing
> Date: Wednesday, December 04, 1996 2:40 AM
> 
> 
> Environment: VC++ 4.2-flat, Win 95, WinNT 4.0
> 
> 
> Dear Listers,
> 
> I have an application that prints (good he!) and I would like to print in 
> landscape by default. I am sure I have seen the answer to this on the list 
> at some point but it is not in my archives.
> 
> Can anyone help?
> 
> 
> Regards
> 
> Gerry Sweeney
> gerry@hornbill.com
-----From: CADD Design Solutions 

At 10:40 AM 12/4/96 G, you wrote:
>
>Environment: VC++ 4.2-flat, Win 95, WinNT 4.0
>
>
>Dear Listers,
>
>I have an application that prints (good he!) and I would like to print in 
>landscape by default. I am sure I have seen the answer to this on the list 
>at some point but it is not in my archives.
>
>Can anyone help?
>
>
>Regards
>
>Gerry Sweeney
>gerry@hornbill.com
>
>

Here's a code snippet that works with MSVC++ v1.52 - you may be able to make
it work in your situation.

/***************************************************************************/
/*                                                                        
*/
/* SetLandscape: force printer into landscape
mode                         */
/*                                                                        
*/
/***************************************************************************/

void      YourApp::SetLandscape () {

 PRINTDLG   pd;
 pd.lStructSize = (DWORD) sizeof (PRINTDLG);
 // force CWinApp to initialize printer and setup defaults
 if (GetPrinterDeviceDefaults (&pd)) {
  // now lock down the defaults
  DEVMODE FAR *pDevMode = (DEVMODE FAR*)::GlobalLock (m_hDevMode);
  if (pDevMode) {
   // Change printer settings in here.
   pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
   ::GlobalUnlock (m_hDevMode);
  }
 }
}


-----------------------------------------------
Shawn L. Bradley
CADD Design Solutions

e-mail: cds@59mail.idt.net

Visit our web site for latest news, neat tips,
and FREE AutoLISP utilities!
	http://metropolis.idt.net/~cds59
-----------------------------------------------
All that must happen for evil to prevail, is
for good men to do nothing. -Edmund Burke

"A democracy cannot exist as a permanent form of government.
It can only exist until the voters discover that they can vote
themselves money from the Public Treasury.  From that moment on,
the majority always votes for the candidates promising the most
benifits from the Public Treasury with a result that a democracy
always collapses over loose fiscal policy always followed by a
dictatorship." -Alexander Fraser Tytler





| Вернуться в корень Архива |