+ -
当前位置:首页 → 问答吧 → 关于打印纸张大小设置问题, 求熟悉这块的大仙们解答下

关于打印纸张大小设置问题, 求熟悉这块的大仙们解答下

时间:2011-11-30

来源:互联网

现使用一款相片打印机, 它能支持4*6和6*8等几种尺寸. 现想通过程序来控制打印出相片尺寸. 现遇到的问题是打印6*8的相片, 通过设置DEVMODE中dmPaperSize(或dmPaperWidth, dmPaperHeight), 并重设打印DC, 这些设置全部返回成功. 但把DEVMODE参与设置到DC后, 通过调用GetDeviceCaps()获得相纸大小, 却发现其值并不是之前所设置的, 而是打印机当前默认相纸4*6的尺寸. 这里原因是什么? 

  请各位帮忙, 谢谢.

  代码大致流程:
  第一步: 创建打印机设备DC CreateDC();
  第二步: 设置相片纸张大小 通过 GlobalLock()获得打印机DEVMODE结构, 修改参数后调用ResetDC()设置打印
  第三步: 打印

作者: barrassed   发布时间: 2011-11-30

// DEVMODE中的dmPaperSize,设为DMPAPER_USER,并设置dmPaperWidth, dmPaperHeight
// dmFields中,置位DM_PAPERSIZE,DM_PAPERLENGTH,DM_PAPERWIDTH

作者: lfchen   发布时间: 2011-12-03