次の方法で共有


PFNPROPSHEETCALLBACK コールバック関数 (prsht.h)

プロパティ シートの作成と初期化時にシステムが呼び出すアプリケーション定義のコールバック関数。

構文

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

int Pfnpropsheetcallback(
  HWND unnamedParam1,
  UINT unnamedParam2,
  LPARAM unnamedParam3
)
{...}

パラメーター

unnamedParam1

種類: HWND

プロパティ シートへのハンドル。 通常、このパラメーターは hWnd と呼ばれます。

unnamedParam2

型: UINT

受信中のメッセージ。 このパラメーターは通常 uMsg と呼ばれます。

このパラメーターは、次のいずれかの値です。

意味
PSCB_INITIALIZED (1)
プロパティ シートが初期化中であることを示します。 このメッセージの lParam (unnamedParam3) 値は 0 です。
PSCB_PRECREATE (2)
プロパティ シートが作成されようとしていることを示します。 hWnd (unnamedParam1) パラメーターは NULL で、lParam (unnamedParam3) パラメーターはメモリ内のダイアログ テンプレートのアドレスです。 このテンプレートは、 DLGTEMPLATE または DLGTEMPLATEEX 構造体の形式で、その後に 1 つ以上の DLGITEMTEMPLATE 構造体が続きます。 Aero ウィザード スタイル (PSH_AEROWIZARD) を使用している場合、このメッセージは適用されません。
PSCB_BUTTONPRESSED (3)

バージョン 6.0 以降。 ユーザーがプロパティ シート ダイアログ ボックスでボタンを押したことを示します。 これを有効にするには、 PROPSHEETHEADER.dwFlags でPSH_USECALLBACKを指定し、 PROPSHEETHEADER.pfnCallback でこのコールバック関数の名前を指定します。 lParam (Arg3) 値は次のいずれかです。 Aero ウィザード スタイル (PSH_AEROWIZARD) を使用している場合は、PSBTN_CANCELのみが有効であることに注意してください。

押されたボタン lParam 値
OK PSBTN_OK
キャンセル PSBTN_CANCEL
適用 PSBTN_APPLYNOW
閉じる PSBTN_FINISH

Comctl32.dll バージョン 6 以降は再頒布可能ではないことに注意してください。 これらのバージョンの Comctl32.dll を使用するには、マニフェストで特定のバージョンを指定します。 マニフェストの詳細については、「 ビジュアル スタイルの有効化」を参照してください。

unnamedParam3

型: LPARAM

メッセージについての追加情報。 このパラメーターは通常 、lParam と呼ばれます。

この値の意味は、 uMsg (unnamedParam2) パラメーターによって異なります。

  • uMsg がPSCB_INITIALIZEDまたはPSCB_BUTTONPRESSEDの場合、このパラメーターの値は 0 です。

  • uMsg がPSCB_PRECREATE場合、このパラメーターは、プロパティ シート ダイアログ ボックスを記述する DLGTEMPLATE または DLGTEMPLATEEX 構造体へのポインターになります。 構造体のシグネチャをテストして、型を決定します。 シグネチャが 0xFFFF と等しい場合、構造体は拡張ダイアログ テンプレートです。それ以外の場合、構造体は標準のダイアログ テンプレートです。 この方法を次の例に示します。

    if (uMsg == PSCB_PRECREATE) 
    {
         if (lParam)
         {
              DLGTEMPLATE *pDlgTemplate;
              DLGTEMPLATEEX *pDlgTemplateEx;
    
              pDlgTemplateEx = (DLGTEMPLATEEX *)lParam;  
              if (pDlgTemplateEx->signature == 0xFFFF)
              {
                   // pDlgTemplateEx points to an extended  
                   // dialog template structure.
              }
              else
              {
                   // This is a standard dialog template
                   //  structure.
                   pDlgTemplate = (DLGTEMPLATE *)lParam;
              }
         }    
    }
    

戻り値

型: int

ゼロを返します。

解説

PropSheetProc コールバック関数を有効にするには、PropertySheet 関数を呼び出してプロパティ シートを作成するときに PROPSHEETHEADER 構造体を使用します。 pfnCallback メンバーを使用してコールバック関数のアドレスを指定し、dwFlags メンバーに PSP_USECALLBACK フラグを設定します。

PropSheetProc は、アプリケーション定義関数名のプレースホルダーです。 PFNPROPSHEETCALLBACK 型は、PropSheetProc コールバック関数のアドレスです。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー prsht.h