次の方法で共有


CPageSetupDialog::OnDrawPage

更新 : 2007 年 11 月

印刷されるページの画面イメージを描画するため、フレームワークが呼び出します。

virtual UINT OnDrawPage(
   CDC* pDC,
   UINT nMessage,
   LPRECT lpRect 
);

パラメータ

  • pDC
    プリンタ デバイス コンテキストへのポインタ。

  • nMessage
    現在表示しようとしているページの領域を示すメッセージを指定します。次のいずれかの値を指定します。

    • WM_PSD_FULLPAGERECT   ページ領域全体。

    • WM_PSD_MINMARGINRECT   現在の最小マージン。

    • WM_PSD_MARGINRECT   現在のマージン。

    • WM_PSD_GREEKTEXTRECT   ページの内容。

    • WM_PSD_ENVSTAMPRECT   郵便切手のために予約された領域。

    • WM_PSD_YAFULLPAGERECT   手紙の発信元住所を表す領域。この領域の拡張範囲は、サンプルのページ領域の端までです。

  • lpRect
    描画領域の座標を持つ CRect クラス または RECT 構造体 オブジェクトへのポインタ。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このイメージは、[OLE ページ レイアウトの設定] コモン ダイアログ ボックスの一部として表示されます。既定の実装では、テキスト ページのイメージを描画します。

イメージの特定の領域、または全体のイメージ領域の描画をカスタマイズするには、この関数をオーバーライドします。nMessage の値を調べる case ステートメントを持つ switch ステートメントを使って、これを行うことができます。たとえば、ページ イメージの内容の描画をカスタマイズするには、次のサンプル コードが使えます。

switch(nMessage)
{
    case WM_PSD_GREEKTEXTRECT:
      DrawMyImage(pDC, lpRect);    //draws my special graphic
      return 1;
    default:
      return CPageSetupDialog::OnDrawPage(pDC, nMessage, lpRect);
}

nMessage のすべてのメッセージを処理する必要はないことに注意してください。イメージの 1 つの部分だけを処理する、いくつかの部分を処理する、領域すべての部分を処理するなどの処理を選択できます。

必要条件

ヘッダー : afxdlgs.h

参照

参照

CPageSetupDialog クラス

階層図

CPageSetupDialog::PreDrawPage

その他の技術情報

CPageSetupDialog のメンバ