LPPAGEPAINTHOOK
コールバックシグネチャ
UINT_PTR LPPAGEPAINTHOOK(
HWND param0,
DWORD param1,
WPARAM param2,
LPARAM param3
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| param0 | HWND | [ページ設定] ダイアログボックスへのハンドルです。 |
| param1 | DWORD | 受け取るメッセージの識別子です。 |
| param2 | WPARAM | メッセージに関する追加情報です。正確な意味は unnamedParam2 パラメーターの値によって異なります。 |
| param3 | LPARAM | メッセージに関する追加情報です。正確な意味は 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 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)