VC实现打印功能

http://www.yesky.com/13/1700013.shtml打印API

http://www.bloghome.cn/topics/vc/4_22.htm打印API

http://www.bloghome.cn/topics/vc/skill13.htm

http://dev.hackbase.com/hackbase32/how514426.htm

设置纸张大小

 if(!PrintDlg(&pd)) return FALSE;
 ASSERT(pd.hDC!=NULL);
 //设置纸张大小daiguopeng,
 DEVMODE *dMode=(DEVMODE *)pd.hDevMode;
 dMode->dmFields= DM_PAPERSIZE|DM_PAPERLENGTH|DM_PAPERWIDTH;
 dMode->dmPaperSize=256;
 dMode->dmPaperLength=1140;
 dMode->dmPaperWidth=1900;
 if((pd.hDC=ResetDC(pd.hDC,dMode))==NULL)return FALSE;//设置

或者

//获取打印机的设备属性
CDC dc;
 //把打印设备环境附加到DC对象
 CPrintDialog pdlg(FALSE,PD_NOPAGENUMS|PD_NOSELECTION,NULL);
 BOOL bFindPrinter=pdlg.GetDefaults();
 if(!bFindPrinter)
  return;
 ASSERT(pdlg.m_pd.hDC!=NULL);

 //设置纸张大小daiguopeng,
 DEVMODE *dMode=(DEVMODE *)pdlg.GetDevMode();
 dMode->dmFields= DM_PAPERSIZE|DM_PAPERLENGTH|DM_PAPERWIDTH;
 dMode->dmPaperSize=256;
// dMode->dmFields= DM_PAPERLENGTH;
 dMode->dmPaperLength=(listbox.GetCount()+3)*80/2.212;
// dMode->dmFields= DM_PAPERWIDTH;
 dMode->dmPaperWidth=1000;//2212点
 ::GlobalUnlock(dMode);//解除pdlg.GetDevMode(); 封锁的内存
 if((pdlg.m_pd.hDC=ResetDC(pdlg.m_pd.hDC,dMode))==NULL)return;

dc.Attach(pdlg.GetPrinterDC());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值