在网上查了下资料,大概是从下面的设置入手,可是没有成功,请各位指教PRINTDLG   pd; 
    pd.lStructSize=(DWORD)sizeof(PRINTDLG); 
    BOOL bRet=AfxGetApp()->GetPrinterDeviceDefaults(&pd);  if(bRet) 
    { 
        //   protect   memory   handle   with   ::GlobalLock   and   ::GlobalUnlock 
        DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(pd.hDevMode); 
        //   set   orientation   to   landscape 
        //pDevMode->dmOrientation=DMORIENT_LANDSCAPE; 
//pDevMode->dmFields =  DM_DUPLEX;
pDevMode->dmDuplex = DMDUP_HORIZONTAL;
        ::GlobalUnlock(pd.hDevMode); 
    } 

解决方案 »

  1.   

    CPrintDialog SetupDlg(FALSE, PD_RETURNDC);
    SetupDlg.GetDefaults();
    DEVMODE FAR* pDevMode=(DEVMODE FAR*)::GlobalLock(SetupDlg.m_pd.hDevMode);
    if (DMORIENT_LANDSCAPE != pDevMode->dmOrientation)
    {
    pDevMode->dmOrientation = DMORIENT_LANDSCAPE;
    if (SetupDlg.m_pd.hDC)
    DeleteObject(SetupDlg.m_pd.hDC);
    SetupDlg.m_pd.hDC = SetupDlg.CreatePrinterDC(); //重点在这里
    }
    ::GlobalUnlock(SetupDlg.m_pd.hDevMode);你上面的代码我不熟悉,给你一下我实现的做参考。
      

  2.   

    有一点忘了说明了,我是想打印两张图片,例如0000.bmp 和 0001.bmp,希望能把它们分别打到一页纸的正反面上
      

  3.   

    看着是莫名其妙,打印机怎么支持双面打印?
    应该是先打印奇数页或者偶数页,然后再人工把先前打印好的纸张反过来再打印另一面吧?LiteEdit这个小软件是支持双面打印的,我一直都在用来看代码和它的“在文件中查找”功能,你可以参考一下。
    软件下载:http://www.newhua.com/soft/17060.htm
    源代码下载:http://www.vckbase.com/document/viewdoc/?id=1565
      

  4.   

    不是吧?
    华军软件园和VCKBASE收钱?我未听过。
      

  5.   

    http://www.vckbase.com 下载要10分,我没分啊,兄弟方便发我邮箱里吗?[email protected],万分感谢了
      

  6.   

    上网用google一查"PfxEditCtrl"一大堆。
      

  7.   

    dmDuplex 为支持双面打印的打印机选择双面打印方式。可能的取值如下:
    ·DMDUP_SIMPLEX
    ·DMDUP_HORIZONTAL
    ·DMDUP_VERTICAL  
      

  8.   

    DMDUP_SIMPLEX
    ·DMDUP_HORIZONTAL
    ·DMDUP_VERTICAL  都test,No行
      

  9.   

    都试过了,不行,我就是往打印机里发送一个打印任务StartDoc(ghDC,&theDocInfo); StartPage(ghDC);