打印的簡單實現,以及更改打印設置

 

void PrintTest()<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

{

         CPrintDialog dlg(FALSE, PD_ALLPAGES | PD_COLLATE | PD_NOPAGENUMS | PD_HIDEPRINTTOFILE);

         if(dlg.GetDefaults())

         {

                  DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(dlg.m_pd.hDevMode);

                  pDevMode->dmOrientation=DMORIENT_PORTRAIT;//改爲縱向打印

                  ::GlobalUnlock(dlg.m_pd.hDevMode);

                  

 

                  DOCINFO di;

                 memset( &di, 0, sizeof(DOCINFO) );

                  di.cbSize = sizeof(DOCINFO);

                  di.lpszDocName = "Printing Test";

                  di.lpszOutput = (LPTSTR) NULL;

                  di.fwType = 0;

                   HDC hDC=dlg.CreatePrinterDC();

                   CDC dc;

                  dc.Attach(hDC);

                  dc.StartDoc(&di);

                  dc.StartPage();

                  dc.MoveTo(0,0);

                  dc.LineTo(1000,1000);

                  dc.EndPage();

                  dc.EndDoc(); 

                  dc.DeleteDC();

         }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章