Share via


PROPSHEETHEADER 構造体

プロパティ シートのフレームとページを定義します。

構文

typedef struct {
    DWORD      dwSize;
    DWORD      dwFlags;
    HWND       hwndParent;
    HINSTANCE  hInstance;
    union {
        HICON   hIcon;
        LPCTSTR pszIcon;
    };
    LPCTSTR  pszCaption;
    UINT     nPages;
    union {
        UINT    nStartPage;
        LPCTSTR pStartPage;
    };
    union {
        LPCPROPSHEETPAGE ppsp;
        HPROPSHEETPAGE   *phpage;
    };
    PFNPROPSHEETCALLBACK pfnCallback;
    union {
        HBITMAP hbmWatermark;
        LPCTSTR pszbmWatermark;
    };
    HPALETTE  hplWatermark;
    union {
        HBITMAP hbmHeader;
        LPCSTR  pszbmHeader;
    };
} PROPSHEETHEADER, *LPPROPSHEETHEADER;

メンバー

dwSize

型: DWORD

この構造体のサイズ (バイト単位)。 プロパティ シート マネージャーは、このメンバーを使用して、使用している PROPSHEETHEADER 構造体のバージョンを決定します。 詳細については、「解説」を参照してください。

dwFlags

型: DWORD

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

説明
PSH_DEFAULT (0x00000000) すべての構造体メンバーの既定の意味を使用し、通常のプロパティ シートを作成します。 このフラグの値は 0 で、他のフラグと組み合わせられません。
PSH_AEROWIZARD (0x00004000) バージョン 6.00 以降。 Aero スタイルを使用するウィザード プロパティ シートを作成します。 PSH_WIZARD フラグも設定する必要があります。 シングルスレッド アパートメント (STA) モデルを使用する必要があります。
PSH_HASHELP (0x00000200) プロパティ シート ページに [ヘルプ ] ボタンの表示を許可します。 また、ページの作成時に、ページの PROPSHEETPAGE 構造体に PSP_HASHELP フラグを設定する必要があります。 最初のプロパティ シート ページのいずれかが [ヘルプ ] ボタンを有効にすると、PSH_HASHELPが自動的に設定されます。 [ ヘルプ ] ボタンを有効にする最初のページがない場合は、後で追加する可能性のあるページに [ヘルプ] ボタンを設定する場合は、PSH_HASHELPを明示的に設定する必要があります。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_HEADER (0x00080000) バージョン 5.80 以降。 ヘッダー ビットマップが Wizard97 ウィザードで使用されることを示します。 PSH_WIZARD97 フラグも設定する必要があります。 PSH_USEHBMHEADER フラグが設定されている場合、ヘッダー ビットマップは hbmHeader メンバーから取得されます。 それ以外の場合、ヘッダー ビットマップは pszbmHeader メンバーから取得されます。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_HEADERBITMAP (0x08000000) バージョン 6.00 以降。 pszbmHeader メンバーは、ヘッダー領域に表示されるビットマップを指定します。 PSH_AEROWIZARDと組み合わせて使用する必要があります。
PSH_MODELESS (0x00000400) PropertySheet 関数で、モーダル ダイアログ ボックスではなくモードレス ダイアログ ボックスとしてプロパティ シートを作成します。 このフラグを設定すると、ダイアログ ボックスが作成された直後に PropertySheet が返され、 PropertySheet からの戻り値がプロパティ シート ダイアログ ボックスのウィンドウ ハンドルになります。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_NOAPPLYNOW (0x00000080) [ 適用 ] ボタンを削除します。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_NOCONTEXTHELP (0x02000000) バージョン 5.80 以降。 状況依存のヘルプ ボタン ("?") を削除します。これは通常、プロパティ シートのキャプション バーに表示されます。 このフラグは、ウィザードでは無効です。 以前のバージョンの共通コントロールのキャプション バーの [ヘルプ] ボタンを削除する方法については、「プロパティ シートについて」を参照してください。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_NOMARGIN (0x10000000) バージョン 6.00 以降。 ページとフレームの間に余白が挿入されていないことを指定します。 PSH_AEROWIZARDと組み合わせて使用する必要があります。
PSH_PROPSHEETPAGE (0x00000008) ppsp メンバーを使用し、プロパティ シートのページを作成するときに phpage メンバーを無視します。
PSH_PROPTITLE (0x00000001) pszCaption がプロパティを表示する対象の名前であることを示します。 Windows では、キャプションに対してバージョンと言語に依存する調整が行われます。 たとえば、英語では、"Properties for" という語句の先頭に空の pszCaption が付加されます (また、pszCaption で空のキャプションが生成される場合、タイトルは単に "Properties" になります)。 このフラグを省略すると、pszCaption が変更されていない状態で使用されます。
PSH_RESIZABLE (0x04000000) ユーザーがウィザードのサイズを変更できるようにします。 ウィザードのフレームに最大化ボタンと最小化ボタンが表示され、フレームは大きくてかまいません。 このフラグを使用するには、PSH_AEROWIZARDも設定する必要があります。
PSH_RTLREADING (0x00000800) プロパティ シートまたはウィザード ウィンドウを右から左 (RTL) の読み取り順序に設定します。ヘブライ語やアラビア語などの言語に適しています。 このフラグを指定しない場合、プロパティ シート ウィンドウは既定で左から右 (LTR) の読み取り順序になり、ウィザード ウィンドウは現在のページの読み取り順序と一致します。
PSH_STRETCHWATERMARK (0x00040000) Wizard97 スタイルのウィザードで透かしを拡大します。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。 このスタイル フラグは、特定のアプリケーションの下位互換性を提供するためにのみ含まれています。 その使用はお勧めしません。また、一般的なコントロール バージョン 4.0 と 4.01 でのみサポートされています。 共通コントロール バージョン 5.80 以降では、このフラグは無視されます。
PSH_USECALLBACK (0x00000100) 特定のイベントが発生したときに pfnCallback パラメーターで指定された関数を呼び出します。 詳細については、 PFNPROPSHEETCALLBACK コールバック関数の説明を参照してください。
PSH_USEHBMHEADER (0x00100000) バージョン 5.80pszbmHeader メンバーではなく hbmHeader メンバーからヘッダー ビットマップを取得します。 また、PSH_AEROWIZARD フラグまたは PSH_WIZARD97 フラグを PSH_HEADER フラグと共に設定する必要があります。
PSH_USEHBMWATERMARK (0x00010000) バージョン 5.80pszbmWatermark メンバーではなく hbmWatermark メンバーから透かしビットマップを取得します。 PSH_WIZARD97とPSH_WATERMARKも設定する必要があります。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_USEHICON (0x00000002) プロパティ シート ダイアログ ボックスのタイトル バーの小さなアイコンとして hIcon を使用します。
PSH_USEHPLWATERMARK (0x00020000) バージョン 5.80。 既定のパレットではなく、hplWatermark メンバーが指す HPALETTE 構造体を使用して、Wizard97 ウィザードの透かしビットマップやヘッダー ビットマップを描画します。 また、PSH_WIZARD97を設定し、PSH_WATERMARKまたはPSH_HEADERする必要があります。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_USEICONID (0x00000004) pszIcon をアイコン リソースの名前として使用し、プロパティ シート ダイアログ ボックスのタイトル バーの小さなアイコンとして読み込んで使用します。
PSH_USEPAGELANG (0x00200000) バージョン 5.80。 プロパティ シートの言語を最初のページのリソースから取得することを指定します。 そのページはリソース識別子で指定する必要があります。
PSH_USEPSTARTPAGE (0x00000040) プロパティ シートの初期ページを表示するときに、nStartPage メンバーの代わりに pStartPage メンバーを使用します。
PSH_WATERMARK (0x00008000) バージョン 5.80。 PSP_HIDEHEADER スタイルのページで、Wizard97 ウィザードで透かしビットマップを使用することを指定します。 PSH_WIZARD97 フラグも設定する必要があります。 透かしビットマップは、PSH_USEHBMWATERMARKが設定されていない限り、 pszbmWatermark メンバーから取得されます。 その場合、ヘッダー ビットマップは hbmWatermark メンバーから取得されます。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_WIZARD (0x00000020) ウィザード プロパティ シートを作成します。 PSH_AEROWIZARDを使用する場合は、このフラグも設定する必要があります。
PSH_WIZARD97 (0x01000000) バージョン 5.80。 Wizard97 スタイルのプロパティ シートを作成します。このプロパティ シートは、内部ページのヘッダーおよび外部ページの左側にあるビットマップをサポートします。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_WIZARDCONTEXTHELP (0x00001000) 状況依存のヘルプ ボタン ("?") を追加します。通常、ウィザードのキャプション バーには表示されません。 このフラグは、通常のプロパティ シートでは無効です。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_WIZARDHASFINISH (0x00000010) ウィザードの [完了] ボタンを常に表示します。 また、PSH_WIZARD、PSH_WIZARD97、またはPSH_AEROWIZARDを設定する必要もあります。
PSH_WIZARD_LITE (0x00400000) バージョン 5.80。 Wizard-lite スタイルを使用します。 このスタイルは外観がPSH_WIZARD97に似ていますが、PSH_WIZARDと同様に実装されています。 ページの書式設定方法にはいくつかの制限があります。 たとえば、強制的な罫線はなく、PSH_WIZARD_LITE スタイルでは、Wizard97 のように透かしとヘッダーのビットマップは描画されません。 このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。

hwndParent

型: HWND

プロパティ シートの所有者ウィンドウを処理します。

hInstance

種類: HINSTANCE

アイコン、タイトル文字列リソース、開始ページ名、ヘッダー ビットマップ、または透かしを読み込むインスタンスを処理します。 pszIconpszCaptionpStartPagepszbmHeader、または pszbmWatermark メンバーが読み込むリソースを識別する場合は、このメンバーを指定する必要があります。

hIcon

種類: HICON

プロパティ シート ダイアログ ボックスのタイトル バーの小さなアイコンとして使用するアイコンを処理します。 このメンバーは、 dwFlags メンバーにPSH_USEHICONが含まれている場合に使用されます。 このメンバーは、 pszIcon との共用体として宣言されます。

pszIcon

型: LPCTSTR

プロパティ シート ダイアログ ボックスのタイトル バーの小さなアイコンとして使用するアイコン リソース。 このメンバーは、 dwFlags メンバーにPSH_USEICONIDが含まれている場合に使用されます。 このメンバーは、アイコン リソースの識別子、またはアイコン リソースの名前を指定する文字列のアドレスを指定できます。 どちらの場合も、 アイコンは hInstance メンバーによって提供されるインスタンスから読み込まれます。 このメンバーは、 hIcon との共用体として宣言されます。

pszCaption

型: LPCTSTR

プロパティ シート ダイアログ ボックスのタイトル。 このメンバーは、文字列リソースの識別子 ( hInstance メンバーによって指定されたインスタンスから読み込まれる) またはタイトルを指定する文字列のアドレスを指定できます。 dwFlags メンバーにPSH_PROPTITLEが含まれている場合は、 の文字列 Properties がタイトルの先頭に挿入されます。 ウィザード 97 ウィザードでは、このフィールドは無視されます。 Aero ウィザードの場合、PSH_PROPTITLE フラグが設定されているかどうかに関係なく、文字列はキャプションに対して単独で使用されます。

nPages

型: UINT

ppsp 配列または phpage 配列で指定されたプロパティ シート ページの数。

nStartPage

型: UINT

プロパティ シート ダイアログ ボックスの作成時に表示される初期ページの 0 から始まるインデックス。 このメンバーは、 dwFlags メンバーに PSH_USEPSTARTPAGE フラグが含まれていない場合に使用されます。 このメンバーは、 pStartPage を持つ共用体として宣言されます。

pStartPage

型: LPCTSTR

プロパティ シート ダイアログ ボックスの作成時に表示される初期ページの名前。 このメンバーは、 dwFlags メンバーに PSH_USESTARTPAGE フラグが含まれている場合に使用されます。 このメンバーは、文字列リソースの識別子 ( hInstance メンバーによって指定されたインスタンスから読み込まれます) または名前を指定する文字列のアドレスを指定できます。 開始ページ名は、ページのキャプションと一致します。 このメンバーは、 nStartPage を持つ共用体として宣言されます。

ppsp

種類: LPCPROPSHEETPAGE

プロパティ シート内のページを定義する PROPSHEETPAGE 構造体の配列へのポインター。 dwFlags メンバーにPSH_PROPSHEETPAGEが含まれていない場合、このメンバーは無視されます。 PROPSHEETPAGE 構造体のサイズは可変であることに注意してください。 ppsp が指す配列を解析するアプリケーションでは、各ページのサイズを考慮する必要があります。 このメンバーは、 phpage との共用体として宣言されています。

phpage

種類: HPROPSHEETPAGE*

プロパティ シート ページへのハンドルの配列へのポインター。 このメンバーは、 dwFlags メンバーにPSH_PROPSHEETPAGEが含まれていない場合に使用されます。 各ハンドルは、 CreatePropertySheetPage 関数の以前の呼び出しによって作成されている必要があります。 PropertySheet 関数が戻ると、phpage 配列内の HPROPSHEETPAGE ハンドルはすべて破棄されます。 このメンバーは、 ppsp を持つ共用体として宣言されます。

pfnCallback

種類: PFNPROPSHEETCALLBACK

特定のイベントが発生したときに呼び出されるアプリケーション定義のコールバック関数へのポインター。 コールバック関数の詳細については、 PFNPROPSHEETCALLBACK コールバック関数の説明を参照してください。 dwFlags メンバーにPSH_USECALLBACKが含まれていない場合、このメンバーは無視されます。

hbmWatermark

種類: HBITMAP

バージョン 5.80 以降。 透かしビットマップを処理します。 dwFlags メンバーにPSH_USEHBMWATERMARKが含まれていない場合、このメンバーは無視されます。

pszbmWatermark

種類: LPCTSTR

バージョン 5.80 以降。 透かしとして使用するビットマップ リソース。 このメンバーは、ビットマップ リソースの識別子、またはビットマップ リソースの名前を指定する文字列のアドレスを指定できます。 dwFlags メンバーにPSH_USEHBMWATERMARKが含まれている場合、このメンバーは無視されます。

hplWatermark

種類: HPALETTE

バージョン 5.80 以降。 透かしビットマップやヘッダー ビットマップの描画に使用される HPALETTE 構造体。 dwFlags メンバーにPSH_USEHPLWATERMARKが含まれていない場合、このメンバーは無視されます。

hbmHeader

種類: HBITMAP

バージョン 5.80 以降。 ヘッダー ビットマップへのハンドル。 dwFlags メンバーにPSH_USEHBMHEADERが含まれていない場合、このメンバーは無視されます。

pszbmHeader

種類: LPCSTR

バージョン 5.80 以降。 ヘッダーとして使用するビットマップ リソース。 このメンバーは、ビットマップ リソースの識別子、またはビットマップ リソースの名前を指定する文字列のアドレスを指定できます。 dwFlags メンバーにPSH_USEHBMHEADERが含まれている場合、このメンバーは無視されます。

解説

ダイアログ ボックスを拡大する [大きなフォント] などの設定をユーザーが選択すると、開始ページと終了ページに塗りつぶされた透かしも拡大されます。 元のビットマップのサイズと位置は変わりません。 追加領域には、ビットマップの左上隅にあるピクセルの色が塗りつぶされます。

PSH_WIZARD、PSH_WIZARD97、およびPSH_WIZARD_LITEスタイルは相互に互換性がありません。 これらのスタイル フラグの 1 つだけを設定する必要があります。 PSH_AEROWIZARDは、PSH_WIZARDと組み合わせる必要があります。

必要条件

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