←構造体一覧に戻る

PROPSHEETHEADER 構造体

PropertySheet 関数で使用する構造体です。
プロパティシート全体の構成を設定します。

構造体の大きさ(byte):52
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;
#if (_WIN32_IE >= 0x0400)
  union {
    HBITMAP hbmWatermark;
    LPCTSTR pszbmWatermark;
  };
  HPALETTE             hplWatermark;
  union {
    HBITMAP hbmHeader;
    LPCSTR  pszbmHeader;
  };
#endif 
} PROPSHEETHEADER, *LPPROPSHEETHEADER;
	

メンバ


dwSize (DWORD)
構造体のサイズを指定します。(この構造体のサイズは52です)

dwFlags (DWORD)
プロパティシートの作成時に使用するオプションを示すフラグを指定します。
意味
PSH_DEFAULT(0x00000000)デフォルト。通常のプロパティシートが作成されます。
PSH_AEROWIZARD(0x00004000)Version 6.00か、Windows Vista対応。
新しいAeroスタイルを使用するウィザードのプロパティシートを作成します。PSH_WIZARDフラグも指定する必要があります。シングルスレッドアパートメント(STA)モデルを使用する必要があります。
PSH_HASHELP(0x00000200)プロパティシートのページにヘルプボタンを表示できるようにします。また、ページの作成時に、ページのPROPSHEETPAGE構造体にPSP_HASHELPフラグも指定する必要があります。最初のプロパティシートページのいずれかがヘルプボタンを有効にすると、PSH_HASHELPが自動的に設定されます。最初のページでヘルプボタンが有効になっていない場合は、後のページにヘルプボタンをつけるときにPSH_HASHELPを指定する必要があります。(PSH_AEROWIZARD指定時無効)
PSH_HEADER(0x00080000)Version 5.80以降対応。
ヘッダービットマップがWizard97で使用されることを示します。PSH_WIZARD97 ウィザードフラグも指定する必要があります。ヘッダー ビットマップは、PSH_USEHBMHEADER フラグが設定しない限り、 pszbmHeaderメンバーから取得されます。その場合は、ヘッダーのビットマップはhbmHeaderメンバから取得されます。(PSH_AEROWIZARD指定時無効)
PSH_HEADERBITMAP(0x08000000)Version 6.00か、Windows Vista対応。
PSH_HEADERBITMAPフラグを指定すると、pszbmHeaderメンバーはヘッダー領域に表示するビットマップを指定します。PSH_AEROWIZARDと一緒に使います。
PSH_MODELESS(0x0x00000400)モードレスダイアログを作成します。PropertySheet 関数からの返り値はプロパティシートダイアログボックスのウィンドウハンドルになります。(PSH_AEROWIZARD指定時無効)
PSH_NOAPPLYNOW(0x0x00000080)[適用]ボタンを削除します。(PSH_AEROWIZARD指定時無効)
PSH_NOCONTEXTHELP(0x02000000)Version 5.80以降対応。
コンテキストヘルプボタンを削除します。(PSH_AEROWIZARD指定時無効)
PSH_NOMARGIN(0x10000000)Version 6.00か、Windows Vista対応。
ページとフレームの余白を作りません。PSH_AEROWIZARDと一緒に使います。
PSH_PROPSHEETPAGE(0x0x00000008)ppspメンバを使用し、phpageメンバを無視します。
PSH_PROPTITLE(0x0x00000001)プロパティシートのタイトルバーに加工されたタイトルが表示されます。pszCaptionで指定された文字列の後に「のプロパティ」が挿入されます。
PSH_RESIZABLE(0x04000000)ユーザーがプロパティシートのサイズを変更できるようにします。PSH_AEROWIZARDと一緒に使います。
PSH_RTLREADING(0x00000800)プロパティシートのタイトル文字列の読む向きを右から左に変更します。
PSH_STRETCHWATERMARK(0x0x00040000)Internet Explorer 4.0互換のWizard97スタイルのウィザードでウォーターマークを伸ばします。(PSH_AEROWIZARD指定時無効)

注:このフラグは互換性を保つためにあります。コモンコントロール 4.0および4.01でのみサポートされています。コモンコントロール 5.80以降ではこのフラグは無視されます。
PSH_USECALLBACK(0x00000100)プロパティシートを初期化するときに、pfnCallbackメンバで指定された関数を呼び出します。
PSH_USEHBMHEADER(0x00100000)Version 5.80以降対応。
pszbmHeaderメンバーの代わりにhbmHeaderメンバーからヘッダービットマップを取得します。PSH_HERADERとともに、PSH_AEROWIZARDまたはPSH_WIZARD97を指定する必要があります。
PSH_USEHBMWATERMARK(0x00010000)Version 5.80以降対応。
pszbmWatermarkメンバーの代わりにhbmWatermarkメンバーからヘッダービットマップを取得します。PSH_WIZARD97とPSH_WATERMARKを指定する必要があります。(PSH_AEROWIZARD指定時無効)
PSH_USEHICON(0x00000002)hIconをプロパティシートダイアログボックスのタイトルバーアイコンとして使用します。
PSH_USEHPLWATERMARK(0x00020000)Version 5.80以降対応。
。デフォルトのパレットの代わりにhplWatermarkメンバが指すHPALETTE構造体を使用して、Wizard97ウィザードのウォーターマークビットマップまたはヘッダービットマップを描画します。PSH_WIZARD97とPSH_WATERMARKまたはPSH_HEADERも指定する必要があります。(PSH_AEROWIZARD指定時無効)
PSH_USEICONID(0x00000004)pszIconで指定されたリソースをプロパティシートダイアログボックスのタイトルバーアイコンとして使用します。
PSH_USEPAGELANG(0x00200000)Version 5.80以降対応。
プロパティシートの言語を最初のページのリソースから取得します。そのページはリソース識別子で指定する必要があります。
PSH_USEPSTARTPAGE(0x00000040)pStartPageメンバを使用し、nStartPageメンバを無視します。
PSH_WATERMARK(0x00008000)Version 5.80以降対応。
PSP_HIDEHEADERスタイルのページでウォーターマークビットマップをWizard97ウィザードで使用することを指定します。PSH_WIZARD97も指定する必要があります。ウォーターマークビットマップは、PSH_USEHBMWATERMARKが指定されていない限り、pszbmWatermarkメンバーから取得されます。この場合、ヘッダービットマップはhbmWatermarkメンバーから取得されます。このフラグは、PSH_AEROWIZARDと組み合わせてサポートされていません。
PSH_WIZARD(0x00000020)ウィザードのプロパティシートを作成します。PSH_AEROWIZARDを指定するときにも使います。
PSH_WIZARD97(0x00002000)Version 5.80以降対応。Wizard97ウィザードのプロパティシートを作成します。(PSH_AEROWIZARD指定時無効)
PSH_WIZARDCONTEXTHELP(0x00001000)コンテキストヘルプボタンを追加します。(PSH_AEROWIZARD指定時無効)
PSH_WIZARDHASFINISH(0x00000010)ウィザードに[完了]ボタンが常に表示されます。ウィザード形式のプロパティシート(PSH_WIZARD、PSH_WIZARD97、PSH_AEROWIZARD)である必要があります。
PSH_WIZARD_LITEVersion 5.80以降対応。
Wizard-Liteスタイルを使用します。(PSH_AEROWIZARD指定時無効)

hwndParent (HWND)
プロパティシートダイアログボックスの親ウィンドウハンドル。

hInstance (HINSTANCE)
リソースを読み込むインスタンスハンドル。

hIcon (HICON)
プロパティシートダイアログボックスのタイトルバーアイコンを指定します。 dwFlagsにPSH_USEHICONが指定されていない場合は、このメンバは無視されます。
hIconはpszIconとの共用体です。

pszIcon (LPCTSTR)
プロパティシートダイアログボックスのタイトルバーアイコンを指定します。このメンバに、アイコンリソースIDかリソースの名前が入った文字列へのアドレスを指定します。 dwFlagsにPSH_USEICONIDが指定されていない場合は、このメンバは無視されます。
pszIconはhIconとの共用体です。

pszCaption (LPCTSTR)
プロパティシートダイアログボックスのタイトル。このメンバに、文字列リソースIDか指定するタイトルが入った文字列へのアドレスを指定します。 dwFlagsにPSH_PROPTITLEが指定されている場合は、タイトルの末尾に「のプロパティ」が追加されます。ただし、Aeroウィザードの場合は追加されず、そのまま表示されます。 Wizard97ウィザードでは無視されます。

nPage (UINT)
phpage配列の要素数。

nStartPage (UINT)
プロパティシートダイアログボックスの作成時に表示される最初のページ。0から始まります。
nStartPageはpStartPageとの共用体です。

pStartPage (LPCTSTR)
プロパティシートダイアログボックスの作成時に表示される初期ページの名前。このメンバに、文字列リソースIDか指定するタイトルが入った文字列へのアドレスを指定します。
pStartPageはnStartPageとの共用体です。

php (LPCPROPSHEETPAGE)
プロパティシート内のページを定義するPROPSHEETPAGE構造体の配列へのポインタ。dwFlagsにPSH_PROPSHEETPAGEが指定されていない場合は、このメンバは無視されます。
phpはphpageとの共用体です。

phpage (HPROPSHEETPAGE *)
プロパティシートページへのハンドルの配列へのポインタ。CreatePropertySheetPage 関数によって作成されたハンドルである必要があります。dwFlagsにPSH_PROPSHEETPAGEが指定された場合は、このメンバは無視されます。
phpageはphpとの共用体です。

lParam (LPARAM)
ページのダイアログボックスプロシージャにWM_INITDIALOGが渡されるときに、このメンバ指定された値も渡すことができます。 アプリケーション固有の値が指定できます。

pfnCallback (PFNPROPSHEETCALLBACK)
プロパティシートが初期化されたときに呼び出される、コールバック関数へのポインタを指定します。 dwFlagsにPSH_USECALLBACKが指定されている必要があります。 コールバック関数の詳細:PropSheetPageProc

hbmWatermark (HBITMAP)
Version 5.80以降対応。
ウォーターマークビットマップを指定します。 dwFlagsにPSH_USEHBMWATERMARKが指定されていない場合は、このメンバは無視されます。

pszbmWatermark (LPCTSTR)
Version 5.80以降対応。
ウォーターマークとして使用するビットマップリソースを指定します。このメンバに、ビットマップリソースIDかリソースの名前が入った文字列へのアドレスを指定します。 dwFlagsにPSH_USEHBMWATERMARKが指定されている場合は、このメンバは無視されます。

hplWatermark (HPALETTE)
Version 5.80以降対応。
ウォーターマークビットマップとヘッダービットマップを描画するときに使用されるHPALETTE構造体を指定します。 dwFlagsにPSH_USEHPLWATERMARKが指定されていない場合は、このメンバは無視されます。

hbmHeaderermark (HBITMAP)
Version 5.80以降対応。
ヘッダービットマップを指定します。 dwFlagsにPSH_USEHBMHEADERが指定されていない場合は、このメンバは無視されます。

pszbmHeader (LPCTSTR)
Version 5.80以降対応。
ヘッダーとして使用するビットマップリソースを指定します。このメンバに、ビットマップリソースIDかリソースの名前が入った文字列へのアドレスを指定します。 dwFlagsにPSH_USEHBMHEADERが指定されている場合は、このメンバは無視されます。


備考


ウォーターマークがフレームより小さい場合にできた余白は、ビットマップの左上隅のピクセルの色で塗りつぶされます。
コモンコントロールのバージョンが4.71より前のバージョンでの構造体のサイズは、PROPSHEETHEADER_V1_SIZE定数(40)によって定義されていました。

HSPでの構造体


配列の添え字対応するメンバ名オフセット (byte)サイズ (byte)
psh(0)dwSize04
psh(1)dwFlags44
psh(2)hwndParent84
psh(3)hInstance124
psh(4)hIcon / pszIcon164
psh(5)pszCaption204
psh(6)nPages244
psh(7)nStartPage / pStartPage284
psh(8)ppsp / phpage324
psh(9)pfnCallback364
psh(10)hbmWatermark / pszbmWatermark404
psh(11)hplWatermark444
psh(12)hbmHeader / pszbmHeader484




(C)2019 inonote / 無断転載禁止