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

LPFNPSPCALLBACKA

コールバック

シグネチャ

DWORD LPFNPSPCALLBACKA(
    HWND hwnd,
    PSPCB_MESSAGE uMsg,
    PROPSHEETPAGEA* ppsp
);

パラメーター

フィールド型説明
hwndHWND予約済みです。NULL を指定する必要があります。
uMsgPSPCB_MESSAGE

アクションフラグです。このパラメーターには次のいずれかの値を指定できます。

値 意味
PSPCB_ADDREF

バージョン 5.80 以降。ページが作成されようとしています。戻り値は使用されません。

PSPCB_CREATE
ページのダイアログボックスが作成されようとしています。作成を許可する場合は 0 以外の値を、作成を行わせない場合は 0 を返します。
PSPCB_RELEASE
ページが破棄されようとしています。戻り値は無視されます。
ppspPROPSHEETPAGEA*作成または破棄されるページを定義する PROPSHEETPAGE 構造体へのポインターです。詳細については「解説」セクションを参照してください。

公式ドキュメント

ページが作成されるときと破棄される直前にプロパティシートが呼び出す、アプリケーション定義のコールバック関数を指定します。アプリケーションはこの関数を使用して、ページの初期化処理とクリーンアップ処理を実行できます。

戻り値

型: UINT

戻り値は uMsg パラメーターの値によって異なります。

解説(Remarks)

アプリケーションは、PROPSHEETPAGE 構造体を CreatePropertySheetPage 関数に渡す前に、この構造体の pfnCallback メンバーにこのコールバック関数のアドレスを設定する必要があります。

メモ この関数が呼び出される時点では、プロパティシートはページの一覧を操作している最中です。この通知の処理中にページを追加、削除、挿入しないでください。行った場合、結果は予測できません。
lParam メンバーを除き、アプリケーションは PROPSHEETPAGE 構造体を変更しないでください。変更した場合、結果は予測できません。lParam メンバーにはアプリケーション定義のデータが格納されており、必要に応じて変更できます。
メモ

prsht.h ヘッダーは、UNICODE プリプロセッサ定数の定義に応じてこの関数の ANSI 版と Unicode 版を自動的に選択するエイリアスとして LPFNPSPCALLBACK を定義しています。エンコーディングに依存しないこのエイリアスを、エンコーディングに依存するコードと混在させて使用すると、不一致が生じてコンパイルエラーや実行時エラーの原因になることがあります。詳細については、関数プロトタイプの規則を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)