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.80。 pszbmHeader メンバーではなく hbmHeader メンバーからヘッダー ビットマップを取得します。 また、PSH_AEROWIZARD フラグまたは PSH_WIZARD97 フラグを PSH_HEADER フラグと共に設定する必要があります。 |
PSH_USEHBMWATERMARK (0x00010000) | バージョン 5.80。 pszbmWatermark メンバーではなく 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
アイコン、タイトル文字列リソース、開始ページ名、ヘッダー ビットマップ、または透かしを読み込むインスタンスを処理します。 pszIcon、pszCaption、pStartPage、pszbmHeader、または 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) |