共用方式為


CPageSetupDialog::CPageSetupDialog

呼叫這個建構函式 CPageSetupDialog 物件。

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

參數

  • dwFlags
    您可以使用自訂對話方塊之設定的一或多個旗標。 使用 OR 運算子,值可以結合。 這些值的意義如下:

    • PSD_DEFAULTMINMARGINS 設定頁面邊界間距可允許的最小寬度可以與印表機的最小值。 如果 PSD_MARGINSPSD_MINMARGINS 旗標來指定,這個旗標會被忽略。

    • 未實作的PSD_INWININIINTLMEASURE

    • PSD_MINMARGINS 使系統之左, top, right 和下方邊界用於 rtMinMargin 成員指定之值的最小允許的寬度。 系統會防止使用者輸入大於指定的最小較小的寬度。 如果 PSD_MINMARGINS 未指定,則系統會設定最小容許寬度為印表機所允許的權限。

    • PSD_MARGINS 啟動邊緣控制項區域。

    • PSD_INTHOUSANDTHSOFINCHES 造成對話方塊單位為單位中的 1/1000 測量。

    • PSD_INHUNDREDTHSOFMILLIMETERS 造成對話方塊單位中以公釐 1/100 的測量。

    • PSD_DISABLEMARGINS 停用框線對話方塊控制項。

    • PSD_DISABLEPRINTER 停用印表機按鈕。

    • 指出沒有預設印表機時,PSD_NOWARNING 避免此警告訊息隨即顯示。

    • PSD_DISABLEORIENTATION 停用頁面方向對話方塊控制項。

    • 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 類別