关于打印设置对话框设置页码范围之后打印份数不起作用

dreamersf 2011-12-23 08:49:49
关于打印设置对话框
如下的代码,在设置页码范围(比如2-5)之后,我再设置打印2份。
后面返回的时候份数还是1份,不知哪里设置不对。
另外,我如果选择打印全部,那么份数nCopies是起作用的,我设置2份就会返回2份。
PRINTDLG pd;
ZeroMemory(&pd, sizeof(pd));
pd.lStructSize = sizeof(pd);
pd.hwndOwner = ::GetActiveWindow();
pd.hDevMode = NULL; // Don't forget to free or store hDevMode.
pd.hDevNames = NULL; // Don't forget to free or store hDevNames.
pd.Flags = PD_COLLATE | PD_NOSELECTION; // | PD_RETURNDC
pd.nCopies = 1;
pd.nFromPage = 0x0;
pd.nToPage = 0x0;
pd.nMinPage = 1;
pd.nMaxPage = 0xFFFF;
CStringA name;
pd.lpPrintTemplateName = name;
CStringA setuptname;
pd.lpSetupTemplateName = setuptname;
if(PrintDlg(&pd)==TRUE)
{
...全文
489 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamersf 2011-12-28
  • 打赏
  • 举报
回复
份数在devmode里面,并且PRINTDLG的Flags需要设置
[Quote=引用楼主 dreamersf 的回复:]
关于打印设置对话框
如下的代码,在设置页码范围(比如2-5)之后,我再设置打印2份。
后面返回的时候份数还是1份,不知哪里设置不对。
另外,我如果选择打印全部,那么份数nCopies是起作用的,我设置2份就会返回2份。
PRINTDLG pd;
ZeroMemory(&pd, sizeof(pd));
pd.lStructSize = sizeof(pd);
pd.hwndO……
[/Quote]
fishion 2011-12-23
  • 打赏
  • 举报
回复
[PrintDlg is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions. Instead, use PrintDlgEx or PageSetupDlg.]
所以用PRINTDLGEX

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧