次の方法で共有


CPageSetupDialog::CPageSetupDialog

更新 : 2007 年 11 月

CPageSetupDialog オブジェクトを構築します。

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

パラメータ

  • dwFlags
    ダイアログ ボックスの設定をカスタマイズするために使用できる 1 つ以上のフラグ。この値は、ビットごとの OR 演算子を使って組み合わせることができます。これらの値には次の意味があります。

    • PSD_DEFAULTMINMARGINS   ページ マージンに指定できる最小幅をプリンタの最小幅と同じになるように設定します。PSD_MARGINSPSD_MINMARGINS フラグが指定されていると、このフラグは無視されます。

    • PSD_INWININIINTLMEASURE   実装されていません。

    • PSD_MINMARGINS   上下左右のマージンに指定できる最小幅として、rtMinMargin メンバで指定された値が使われるようにします。システムは、指定された最小幅より小さい値をユーザーが入力できないようにします。PSD_MINMARGINS が指定されないと、システムは指定できる最小幅としてプリンタの最小幅を設定します。

    • PSD_MARGINS   マージン コントロール領域をアクティブにします。

    • PSD_INTHOUSANDTHSOFINCHES   ダイアログ ボックスの単位を 1/1000 インチ単位にします。

    • PSD_INHUNDREDTHSOFMILLIMETERS   ダイアログ ボックスの単位を 1/100mm 単位にします。

    • PSD_DISABLEMARGINS   マージン ダイアログ ボックス コントロールを無効にします。

    • PSD_DISABLEPRINTER   [プリンタ] ボタンを無効にします。

    • PSD_NOWARNING   既定のプリンタがないときに表示される警告メッセージが表示されないようにします。

    • PSD_DISABLEORIENTATION   ページの向きのダイアログ コントロールを無効にします。

    • PSD_RETURNDEFAULT   ダイアログ ボックスの表示なしで、システムの既定のプリンタ用に初期化された DEVMODE 構造体と DEVNAMES 構造体 構造体を CPageSetupDialog が返すようにします。hDevNameshDevMode の両方が NULL であることを前提としています。そうでないと、関数はエラーを返します。システムの既定のプリンタが古いプリンタ ドライバ (Windows Version 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
    ダイアログ ボックスの親またはオーナーへのポインタ。

解説

ダイアログ ボックスを表示するには、CDialog::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());
   }
}

必要条件

ヘッダー : afxdlgs.h

参照

参照

CPageSetupDialog クラス

階層図

CPrintDialog クラス

CPageSetupDialog クラス

その他の技術情報

CPageSetupDialog のメンバ