PROPSHEETPAGE 構造体

プロパティ シート内のページを定義します。

構文

typedef struct {
    DWORD      dwSize;
    DWORD      dwFlags;
    HINSTANCE  hInstance;
    union {
        LPCSTR                 pszTemplate;
        PROPSHEETPAGE_RESOURCE pResource;
    };
    union {
        HICON  hIcon;
        LPCSTR pszIcon;
    };
    LPCSTR          pszTitle;
    DLGPROC         pfnDlgProc;
    LPARAM          lParam;
    LPFNPSPCALLBACK pfnCallback;
    UINT            *pcRefParent;
    LPCTSTR         pszHeaderTitle;
    LPCTSTR         pszHeaderSubTitle;
    HANDLE          hActCtx;
    union 
    {
        HBITMAP     hbmHeader;
        LPCSTR      pszbmHeader;
    }
} PROPSHEETPAGE, *LPPROPSHEETPAGE;

メンバー

dwSize

型: DWORD

この構造体のサイズ (バイト単位)。

dwFlags

型: DWORD

プロパティ シート ページの作成時に使用するオプションを示すフラグ。 このメンバーは、次の値の組み合わせにすることができます。

説明
PSP_DEFAULT すべての構造体メンバーの既定の意味を使用します。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_DLGINDIRECT pResource メンバーが指すメモリ内のダイアログ ボックス テンプレートからページを作成します。 PropertySheet 関数は、メモリ内のテンプレートが書き込み保護されていないことを前提としています。 読み取り専用テンプレートでは、一部のバージョンの Windows で例外が発生します。
PSP_HASHELP ページがアクティブなときにプロパティ シートの [ヘルプ ] ボタンを有効にします。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_HIDEHEADER バージョン 5.80 以降。 ページを選択すると、ウィザードのプロパティ シートでヘッダー領域が非表示になります。 透かしが指定されている場合は、ページの左側に塗りつぶされます。 このフラグはウェルカム ページと入力候補ページに設定し、内部ページでは省略する必要があります。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_PREMATURE バージョン 4.71 以降。 プロパティ シートの作成時にページを作成します。 このフラグを指定しない場合、ページは最初に選択されるまで作成されません。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_RTLREADING pszTitle が表示される方向を反転します。 通常のウィンドウには、 pszTitle、左から右 (LTR) を含むすべてのテキストが表示されます。 右から左 (RTL) を読み取るヘブライ語やアラビア語などの言語の場合は、ウィンドウをミラーリングでき、すべてのテキストが RTL で表示されます。 PSP_RTLREADINGが設定されている場合、 pszTitle は通常の親ウィンドウでは RTL、ミラー化された親ウィンドウでは LTR を読み取ります。
PSP_USECALLBACK この構造体で定義されているプロパティ シート ページを作成または破棄するときに 、pfnCallback メンバーによって指定された関数を呼び出します。
PSP_USEFUSIONCONTEXT バージョン 6.0 以降。 アクティブ化コンテキストを使用します。 アクティブ化コンテキストを使用するには、このフラグを設定し、アクティブ化コンテキスト ハンドルを hActCtx に割り当てる必要があります。 「備考」を参照してください。
PSP_USEHEADERSUBTITLE バージョン 5.80 以降。 pszHeaderSubTitle メンバーが指す文字列を、Wizard97 ページのヘッダー領域のサブタイトルとして表示します。 このフラグを使用するには、関連付けられた PROPSHEETHEADER 構造体の dwFlags メンバーにPSH_WIZARD97 フラグも設定する必要があります。 PSP_HIDEHEADERが設定されている場合、PSP_USEHEADERSUBTITLE フラグは無視されます。 Aero スタイルのウィザードでは、タイトルがクライアント領域の上部付近に表示されます。
PSP_USEHEADERTITLE バージョン 5.80 以降。 pszHeaderTitle メンバーが指す文字列を、Wizard97 内部ページのヘッダーのタイトルとして表示します。 関連付けられた PROPSHEETHEADER 構造体の dwFlags メンバーにPSH_WIZARD97 フラグを設定する必要もあります。 PSP_HIDEHEADERが設定されている場合、PSP_USEHEADERTITLE フラグは無視されます。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_USEHICON ページのタブの小さなアイコンとして hIcon を使用します。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_USEICONID pszIcon をアイコン リソースの名前として使用して読み込み、ページのタブの小さなアイコンとして使用します。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。
PSP_USEREFPARENT この構造体から作成されたプロパティ シート ページの有効期間中、 pcRefParent メンバーによって指定された参照カウントを保持します。
PSP_USETITLE ダイアログ ボックス テンプレートに格納されているタイトルではなく、プロパティ シート ダイアログ ボックスのタイトルとして pszTitle メンバーを使用します。 Aero スタイル ウィザード (PSH_AEROWIZARD) を使用する場合、このフラグはサポートされていません。

hInstance

種類: HINSTANCE

アイコンまたは文字列リソースを読み込むインスタンスを処理します。 pszIconpszTitlepszHeaderTitle、または pszHeaderSubTitle メンバーが読み込むリソースを識別する場合は、hInstance を指定する必要があります。

pszTemplate

種類: LPCSTR

ページの作成に使用するダイアログ ボックス テンプレート。 このメンバーは、テンプレートのリソース識別子、またはテンプレートの名前を指定する文字列のアドレスを指定できます。 dwFlags メンバーのPSP_DLGINDIRECT フラグが設定されている場合、pszTemplate は無視されます。 このメンバーは、 pResource との共用体として宣言されます。

pResource

種類: LPCDLGTEMPLATE

メモリ内のダイアログ ボックス テンプレートへのポインター。 PropertySheet 関数は、テンプレートが書き込み保護されていないことを前提としています。 読み取り専用テンプレートでは、一部のバージョンの Windows で例外が発生します。 このメンバーを使用するには、 dwFlags メンバーで PSP_DLGINDIRECT フラグを設定する必要があります。 このメンバーは、 pszTemplate との共用体として宣言されます。

hIcon

種類: HICON

ページのタブのアイコンとして使用するアイコンを処理します。 dwFlags メンバーにPSP_USEHICONが含まれていない場合、このメンバーは無視されます。 このメンバーは、 pszIcon との共用体として宣言されます。

pszIcon

種類: LPCSTR

ページのタブのアイコンとして使用するアイコン リソース。 このメンバーは、アイコン リソースの識別子、またはアイコン リソースの名前を指定する文字列のアドレスを指定できます。 このメンバーを使用するには、 dwFlags メンバーで PSP_USEICONID フラグを設定する必要があります。 このメンバーは、 hIcon との共用体として宣言されます。

pszTitle

種類: LPCSTR

プロパティ シート ダイアログ ボックスのタイトル。 このタイトルは、ダイアログ ボックス テンプレートで指定されたタイトルよりも優先されます。 このメンバーは、文字列リソースの識別子またはタイトルを指定する文字列のアドレスを指定できます。 このメンバーを使用するには、 dwFlags メンバーで PSP_USETITLE フラグを設定する必要があります。

pfnDlgProc

種類: DLGPROC

ページのダイアログ ボックス プロシージャへのポインター。 ページはモードレス ダイアログ ボックスとして作成されるため、ダイアログ ボックス プロシージャで EndDialog 関数を呼び出してはなりません。

lParam

種類: LPARAM

ページが作成されると、ページの PROPSHEETPAGE 構造体のコピーが、 WM_INITDIALOG メッセージを含むダイアログ ボックス プロシージャに渡されます。 lParam メンバーを使用すると、アプリケーション固有の情報をダイアログ ボックス プロシージャに渡すことができます。 ページ自体には影響しません。

pfnCallback

型: LPFNPSPCALLBACK

ページが作成され、破棄されるときに呼び出されるアプリケーション定義のコールバック関数へのポインター。 コールバック関数の詳細については、「 LPFNPSPCALLBACKA コールバック関数」を参照してください。 このメンバーを使用するには、 dwFlags メンバーで PSP_USECALLBACK フラグを設定する必要があります。

pcRefParent

型: UINT*

参照カウント値へのポインター。 このメンバーを使用するには、 dwFlags メンバーで PSP_USEREFPARENT フラグを設定する必要があります。

注意

プロパティ シート ページが作成されると、 pcRefParent が指す値がインクリメントされます。 プロパティ シート ページを暗黙的に作成するには、PROPSHEETHEADERdwFlags メンバーで PSH_PROPSHEETPAGE フラグを設定し、PropertySheet 関数を呼び出します。 これを明示的に行うには、 CreatePropertySheetPage 関数を使用します。 プロパティ シート ページが破棄されると、 pcRefParent メンバーが指す値がデクリメントされます。 これは、プロパティ シートが破棄されたときに自動的に行われます。 DestroyPropertySheetPage 関数を使用して、プロパティ シート ページを明示的に破棄できます。

pszHeaderTitle

種類: LPCTSTR

バージョン 5.80 以降。 ヘッダー領域のタイトル。 Wizard97 スタイルのウィザードでこのメンバーを使用するには、次の操作も行う必要があります。

  • dwFlags メンバーでPSP_USEHEADERTITLE フラグを設定します。
  • ページの PROPSHEETHEADER 構造体の dwFlags メンバーにPSH_WIZARD97 フラグを設定します。
  • dwFlags メンバーのPSP_HIDEHEADER フラグが設定されていないことを確認します。

pszHeaderSubTitle

種類: LPCTSTR

バージョン 5.80 以降。 ヘッダー領域のサブタイトル。 このメンバーを使用するには、次の操作を行う必要があります。

  • dwFlags メンバーでPSP_USEHEADERSUBTITLE フラグを設定します。
  • ページの PROPSHEETHEADER 構造体の dwFlags メンバーにPSH_WIZARD97 フラグを設定します。
  • dwFlags メンバーのPSP_HIDEHEADER フラグが設定されていないことを確認します。

注意

Aero スタイル ウィザードを使用する場合、このメンバーは無視されます (PSH_AEROWIZARD)

hActCtx

型: HANDLE

バージョン 6.0 以降。 アクティブ化コンテキスト ハンドル。 このメンバーを、 CreateActCtx を使用してアクティブ化コンテキストを作成するときに返されるハンドルに設定します。 ダイアログ ボックスを作成する前に、このコンテキストがアクティブ化されます。 グローバル マニフェストを使用する場合は、このメンバーを使用する必要はありません。

hbmHeader

種類: HBITMAP

このメンバーは、 pszbmHeader を持つ共用体として宣言されます。

pszbmHeader

種類: LPCSTR

このメンバーは、 hbmHeader との共用体として宣言されます。

解説

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

必要条件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー Prsht.h
Unicode 名と ANSI 名 PROPSHEETHEADERW (Unicode) と PROPSHEETHEADERA (ANSI)