CPageSetupDialog::CPageSetupDialog
调用此构造函数 CPageSetupDialog 对象。
CPageSetupDialog(
DWORD dwFlags = PSD_MARGINS | PSD_INWININIINTLMEASURE,
CWnd* pParentWnd = NULL
);
参数
dwFlags
可以使用自定义对话框中设置的一个或多个标记。使用按位或运算符,值进行组合。这些值的含义如下:PSD_DEFAULTMINMARGINS 设置页边距的最小允许的宽度可以与打印机的最小值。如果 PSD_MARGINS 和 PSD_MINMARGINS 标志也指定,此标志被忽略。
未实现的PSD_INWININIINTLMEASURE。
PSD_MINMARGINS 使该系统为左侧,顶部,右箭头和下边距使用在 rtMinMargin 成员指定的值作为最小允许的宽度。系统会阻止用户输入与该指定的最小位数小于的一个宽度。如果 PSD_MINMARGINS 未指定,则系统设置min允许的宽度设置为打印机的功能。
PSD_MARGINS 活动边缘控件区域。
PSD_INTHOUSANDTHSOFINCHES 导致对话框的单位用一英寸中的1/1000度量。
PSD_INHUNDREDTHSOFMILLIMETERS 导致对话框的单元在一个中的1/100度量。
PSD_DISABLEMARGINS 禁用边距对话框控件。
PSD_DISABLEPRINTER 禁用打印机按钮。
而没有默认打印机时,PSD_NOWARNING 防止警告将显示。
PSD_DISABLEORIENTATION 禁用页orientation对话框控件。
PSD_RETURNDEFAULT 导致 CPageSetupDialog 返回为系统的默认打印机初始化,而不显示对话框的 DEVMODE 和 DEVNAMES 结构。假定,hDevNames 和 hDevMode 是 NULL;否则,该函数返回错误。如果系统默认打印机由早期打印机驱动程序支持(早于Windows 3.0版),因此,只有 hDevNames 返回; hDevMode 是 NULL。
PSD_DISABLEPAPER 禁用馈送选择控件。
PSD_SHOWHELP 导致对话框显示帮助按钮。如果此标志指定,hwndOwner 成员不能为 NULL。
PSD_ENABLEPAGESETUPHOOK 可以在 lpfnSetupHook指定的挂钩函数。
PSD_ENABLEPAGESETUPTEMPLATE 导致操作系统创建对话框使用 hInstance 和 lpSetupTemplateName确定的对话框模板框。
PSD_ENABLEPAGESETUPTEMPLATEHANDLE 指示 hInstance 标识包含一个预加载的对话框模板的数据块。如果此标志指定,系统会忽略 lpSetupTemplateName。
PSD_ENABLEPAGEPAINTHOOK 可以在 lpfnPagePaintHook指定的挂钩函数。
PSD_DISABLEPAGEPAINTING 禁用对话框中绘制区域。
pParentWnd
查看对话框的父级或所有者的指针。
备注
使用 DoModal 功能显示对话框。
示例
void CMyRichEditView::OnPageSetupDlg()
{
CPageSetupDialog psd(PSD_INTHOUSANDTHSOFINCHES | PSD_MARGINS |
PSD_ENABLEPAGEPAINTHOOK, this);
// Initialize margins
psd.m_psd.rtMargin.top = 1000;
psd.m_psd.rtMargin.left = 1250;
psd.m_psd.rtMargin.right = 1250;
psd.m_psd.rtMargin.bottom = 1000;
psd.m_psd.lpfnPagePaintHook = (LPPAGEPAINTHOOK)PaintHook;
if(IDOK == psd.DoModal())
{
// Propagate changes to the app
AfxGetApp()->SelectPrinter(psd.m_psd.hDevNames, psd.m_psd.hDevMode);
}
else
{
TRACE(_T("CommDlgExtendedError returned error %d from ")
_T("CPageSetupDialog::DoModal().\n"),
(int)CommDlgExtendedError());
}
}
要求
Header: afxdlgs.h