Win32 API 日本語リファレンス
ホーム › UI.Controls.Dialogs › LPPAGEPAINTHOOK

LPPAGEPAINTHOOK

コールバック

シグネチャ

UINT_PTR LPPAGEPAINTHOOK(
    HWND param0,
    DWORD param1,
    WPARAM param2,
    LPARAM param3
);

パラメーター

フィールド型説明
param0HWND[ページ設定] ダイアログボックスへのハンドルです。
param1DWORD受け取るメッセージの識別子です。
param2WPARAMメッセージに関する追加情報です。正確な意味は unnamedParam2 パラメーターの値によって異なります。
param3LPARAMメッセージに関する追加情報です。正確な意味は unnamedParam2 パラメーターの値によって異なります。

公式ドキュメント

[ページ設定] ダイアログボックス内のサンプルページの描画をカスタマイズするためのメッセージを受け取ります。PagePaintHook フックプロシージャは、PageSetupDlg 関数と共に使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。

LPPAGEPAINTHOOK 型は、このコールバック関数へのポインターを定義します。PagePaintHook は、アプリケーション定義またはライブラリ定義の関数名を表すプレースホルダーです。

戻り値

描画シーケンスの最初の 3 つのメッセージ (WM_PSD_PAGESETUPDLG、WM_PSD_FULLPAGERECT、WM_PSD_MINMARGINRECT) のいずれかに対してフックプロシージャが TRUE を返した場合、ダイアログボックスはそれ以降のメッセージを送信せず、次にシステムがサンプルページを再描画する必要が生じるまでサンプルページへの描画を行いません。これら 3 つのメッセージすべてに対してフックプロシージャが FALSE を返した場合、ダイアログボックスは描画シーケンスの残りのメッセージを送信します。

描画シーケンスの残りのメッセージのいずれかに対してフックプロシージャが TRUE を返した場合、ダイアログボックスはサンプルページの該当部分を描画しません。これらのメッセージのいずれかに対してフックプロシージャが FALSE を返した場合、ダイアログボックスはサンプルページのその部分を描画します。

解説(Remarks)

[ページ設定] ダイアログボックスには、ユーザーの選択が印刷結果の外観にどのように影響するかを示すサンプルページの画像が含まれています。この画像は、選択された用紙または封筒の種類を表す矩形と、現在の余白を表す点線の矩形、および印刷ページ上でテキストがどのように見えるかを示す文字の一部 (グリークテキスト) で構成されます。PageSetupDlg 関数を使用して [ページ設定] ダイアログボックスを作成する場合、PagePaintHook フックプロシージャを指定してサンプルページの外観をカスタマイズできます。

フックプロシージャを有効にするには、作成関数に渡した PAGESETUPDLG 構造体を使用します。lpfnPagePaintHook メンバーにフックプロシージャへのポインターを指定し、Flags メンバーに PSD_ENABLEPAGEPAINTHOOK フラグを指定します。

ダイアログボックスがサンプルページの内容を描画しようとするたびに、フックプロシージャは次のメッセージを、記載されている順序で受け取ります。

メッセージ 意味
WM_PSD_PAGESETUPDLG ダイアログボックスがサンプルページを描画しようとしています。フックプロシージャは、このメッセージを使用してサンプルページの内容を描画する準備を行えます。
WM_PSD_FULLPAGERECT ダイアログボックスがサンプルページを描画しようとしています。このメッセージは、サンプルページの外接矩形を指定します。
WM_PSD_MINMARGINRECT ダイアログボックスがサンプルページを描画しようとしています。このメッセージは、余白の矩形を指定します。
WM_PSD_MARGINRECT ダイアログボックスが余白の矩形を描画しようとしています。
WM_PSD_GREEKTEXTRECT ダイアログボックスが余白の矩形の内側にグリークテキストを描画しようとしています。
WM_PSD_ENVSTAMPRECT ダイアログボックスが、封筒のサンプルページの切手貼付位置の矩形内に描画しようとしています。このメッセージは封筒の場合にのみ送信されます。
WM_PSD_YAFULLPAGERECT ダイアログボックスが、封筒のサンプルページの差出人住所部分を描画しようとしています。このメッセージは、封筒およびその他の用紙サイズに対して送信されます。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)