我在OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)中
//获取纸张打印区域长,宽
m_ipwidth=pDC->GetDeviceCaps(PHYSICALWIDTH)-2*pDC->GetDeviceCaps(PHYSICALOFFSETX);//纸张宽度减取两个边的边区域
m_ipheight=pDC->GetDeviceCaps(PHYSICALHEIGHT)-2*pDC->GetDeviceCaps(PHYSICALOFFSETY);
不可以在所留边界处打印。
如果是一行打不开,你可以设定小字体,或将打印纸以横打方式打印。

解决方案 »

  1.   

    colorknight(多彩的骑士):你的QQ是多少呀,我的是14578265,请多指教! 
    多谢这位老兄的帮忙,那你是说我在打印边界处不能打印东西了,那我能不能改变打印机默认打印纸的边界的大小呢 
      

  2.   

    好象不行,你看看MSDN的GetDeviceCaps函数,其中有这些索引的详细说明,我也只是对用到的比较熟。还有什么不清楚,不要结帖,明早再来帮你看。现在要走喽!回家了!!!!
      

  3.   

    colorknight(多彩的骑士):
    我是不是可以把CPrintInfo中的m_rectDraw设置大一点,这样就可以使打印纸的打印范围变大一点呢?(我现在打印时,CPrintInfo没有设置,取得是默认的值)
    如果可以的话,那我在设置了CPrintInfo后怎么使我所设置的值有效呢
      

  4.   

    up
    我是不是可以把CPrintInfo中的m_rectDraw设置大一点,这样就可以使打印纸的打印范围变大一点呢?(我现在打印时,CPrintInfo没有设置,取得是默认的值)
    如果可以的话,那我在设置了CPrintInfo后怎么使我所设置的值有效呢 ?
    各位帮忙看看呀,多谢,多谢!
      

  5.   

    对于不同大小的纸,打印机都要为纸留出一块不同大小的边距,不能打印。OnPrint(CDC* pDC, CPrintInfo* pInfo)
    {
        //设置打印区域
    pInfo->m_rectDraw=CRect(0,300,m_ipwidth,m_ipheight);
    }你的:EMAIL,给你寄几个源程序。
      

  6.   

    非常感谢colorknight(多彩的骑士)的无私帮助,向colorknight(多彩的骑士)致敬,呵呵!
      

  7.   

    我现在也急需打印程序的例程,
    两位大侠能不能帮在下一个忙啊.
    也邮几个打印例程与我吧.
    现在我快急死了.我的E_mail:[email protected]
    现在不知道两位是否知道如何将一个ACCESS文件引入到我自己的程序中打印出来啊.
    就是一个数据表.