CPageSetupDialog::CPageSetupDialog

调用此构造函数 CPageSetupDialog 对象。

CPageSetupDialog(
   DWORD dwFlags = PSD_MARGINS | PSD_INWININIINTLMEASURE,
   CWnd* pParentWnd = NULL 
);

参数

  • dwFlags
    可以使用自定义对话框中设置的一个或多个标记。使用按位或运算符,值进行组合。这些值的含义如下:

    • PSD_DEFAULTMINMARGINS 设置页边距的最小允许的宽度可以与打印机的最小值。如果 PSD_MARGINSPSD_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 返回为系统的默认打印机初始化,而不显示对话框的 DEVMODEDEVNAMES 结构。假定,hDevNameshDevModeNULL;否则,该函数返回错误。如果系统默认打印机由早期打印机驱动程序支持(早于Windows 3.0版),因此,只有 hDevNames 返回; hDevModeNULL

    • PSD_DISABLEPAPER 禁用馈送选择控件。

    • PSD_SHOWHELP 导致对话框显示帮助按钮。如果此标志指定,hwndOwner 成员不能为 NULL

    • PSD_ENABLEPAGESETUPHOOK 可以在 lpfnSetupHook指定的挂钩函数。

    • PSD_ENABLEPAGESETUPTEMPLATE 导致操作系统创建对话框使用 hInstancelpSetupTemplateName确定的对话框模板框。

    • 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

请参见

参考

CPageSetupDialog选件类

层次结构图

CPrintDialog选件类

CPageSetupDialog选件类