我正在尝试为我的应用添加打印功能。我显示CPrintDialog以获取打印机选项。如何启用打印范围选项?目前,当我在doModal()对话框时禁用此选项。
答案 0 :(得分:1)
您传递给CPrintDialog构造函数的参数是什么?构造函数声明为
CPrintDialog(BOOL bPrintSetupOnly,
DWORD dwFlags = PD_ALLPAGES|PD_USEDEVMODECOPIES|PD_NOPAGENUMS|
PD_HIDEPRINTTOFILE|PD_NOSELECTION,
CWnd* pParentWnd = NULL);
因此,如果您没有为“dwFlags”参数提供值,您将获得这些默认标志。默认标志包括PD_NOPAGENUMS,因此将禁用页面选择控件。您还必须设置最大页码,以使页面选择控件生效。尝试将代码更改为
CPrintDialog dlg(FALSE,
PD_ALLPAGES|PD_USEDEVMODECOPIES|PD_HIDEPRINTTOFILE|PD_NOSELECTION);
dlg.m_pd.nMaxPage = 100;
dlg.DoModal();
答案 1 :(得分:0)
您的打印代码是否设置了要打印的页面数量?我手边没有任何代码,但我认为它在OnPreparePrintDC()或类似的东西中,你设置m_MaxPage或者你得到的对象的成员作为参数。