单文档,预览完全正常,打印时,虚线变成了实线,而且图形也不见了??
请问该如何解决?

解决方案 »

  1.   

    打印虚线的代码如下:
    CPen *pNewPen = new CPen;
    pNewPen->CreatePen(PS_DASHDOT, 1, RGB(100, 100, 100));
    CPen* pOldPen = pDC->SelectObject(pNewPen); int n1 = 0;
    int n2 = 0;
    for(int nTimes=0; nTimes<11; nTimes++)
    {
    n1 = nCurrentY - rectClient.Height()*nTimes/10;
    pDC->MoveTo(LEFT_MARGIN, n1);
    pDC->LineTo(LEFT_MARGIN + rectClient.Width(), n1); n2 = LEFT_MARGIN + nTimes*rectClient.Width()/10;
    pDC->MoveTo(n2, nCurrentY);
    pDC->LineTo(n2, nCurrentY-rectClient.Height());
    }
    pDC->SelectObject(pOldPen);
    delete pNewPen;打印图的代码如下:
    CDC *pDisplayMemDC = new CDC;
    pDisplayMemDC->CreateCompatibleDC(pDC);

    BITMAP bm;
    CBitmap *pBitmap = new CBitmap;
    pBitmap->LoadBitmap(IDB_LOGO);
    pBitmap->GetBitmap(&bm);

    CBitmap *pOldBitmap = (CBitmap *)pDisplayMemDC->SelectObject(pBitmap);
    pDC->BitBlt(600, 350, bm.bmWidth, bm.bmHeight, pDisplayMemDC, 0, 0, SRCCOPY);
      

  2.   

    win2000 pro
    hp laserJet 1010to:wy2001wy(小鱼儿) 
    和映射方式无关吧
      

  3.   

    1:PS_GEOMETRIC|PS_DASHDOT
    试一下,不行的话使用mPen.CreatePen(PS_GEOMETRIC|PS_USERSTYLE|PS_ENDCAP_FLAT,(int)LineWide,&brush,i,PenStyle);创建画笔 
    2:试一下StretchBlt函数,不行的话……我再看看
      

  4.   

    to bluebohe(薄荷) :还是不行啊