←構造体一覧に戻る

PROPSHEETPAGE 構造体

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

構造体の大きさ(byte):52
typedef struct {
  DWORD           dwSize;
  DWORD           dwFlags;
  HINSTANCE       hInstance;
  union {
    LPCSTR         pszTemplate;
    LPCDLGTEMPLATE pResource;
  };
  union {
    HICON  hIcon;
    LPCSTR pszIcon;
  };
  LPCSTR          pszTitle;
  DLGPROC         pfnDlgProc;
  LPARAM          lParam;
  LPFNPSPCALLBACK pfnCallback;
  UINT            *pcRefParent;
#if (_WIN32_IE >= 0x0500)
  LPCTSTR         pszHeaderTitle;
  LPCTSTR         pszHeaderSubTitle;
#endif 
#if (_WIN32_WINNT >= 0x0501)
  HANDLE          hActCtx;
#endif 
} PROPSHEETPAGE, *LPPROPSHEETPAGE;
	

メンバ


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

dwFlags (DWORD)
プロパティシートの作成時に使用するオプションを示すフラグを指定します。
意味
PSP_DEFAULT(0x00000000)デフォルト。(PSH_AEROWIZARD指定時無効)
PSP_DLGINDIRECT(0x00000001)pResourceメンバが示すメモリ内のダイアログボックステンプレートからページを作成します。
PSP_HASHELP(0x00000020)ページが選択されているときにヘルプボタンを有効にします。(PSH_AEROWIZARD指定時無効)
PSP_HIDEHEADER(0x00000800)Version 5.80以降対応。
ページが選択されたときに、ウィザードのヘッダー領域を非表示にします。ウォーターマークが有効な場合は、ページの左側に配置されます。このフラグは、ウェルカムページと設定完了ページだけに指定する必要があります。(PSH_AEROWIZARD指定時無効)
PSP_PREMATURE(0x00000400)Version 4.71か、それ以降対応。
プロパティシート作成時にページを作成させます。これが指定されていない場合は、ページが選択されたときに作成されます。(PSH_AEROWIZARD指定時無効)
PSP_RTLREADING(0x00000010)pszTitleで指定した文字列が表示される方向を反転します。通常は左から右に表示されますが、これを指定すると右から左に表示されるようになります。
PSP_USECALLBACK(0x00000080)ページが作成または破棄されたときに、pfnCallbackメンバに指定された関数を呼び出します。
PSP_USEHEADERSUBTITLE(0x00002000)Version 5.80以降対応。
pszHeaderSubTitleメンバに指定された文字列を、Wizard97ページのヘッダー領域のサブタイトルで表示します。PROPSHEETHEADER構造体のdwFlagsメンバにPSH_WIZARD97を指定する必要があります。PSP_HIDEHEADERが指定されている場合は、PSP_USEHEADERSUBTITLEが無視されます。Aeroウィザードでは、タイトルはクライアント領域の上部に表示されます。
PSP_USEHEADERTITLE(0x00001000)Version 5.80以降対応。
pszHeaderTitleメンバに指定された文字列を、Wizard97のページヘッダーにタイトルとして表示します。PROPSHEETHEADER構造体のdwFlagsメンバにPSH_WIZARD97を指定する必要があります。PSP_HIDEHEADERが指定されている場合は、PSP_USEHEADERSUBTITLEが無視されます。(PSH_AEROWIZARD指定時無効)
PSP_USEHICON(0x00000002)hIconをページのタブアイコンとして使用します。(PSH_AEROWIZARD指定時無効)
PSP_USEICONID(0x00000004)pszIconをページのタブアイコンとして使用するアイコンリソースの名前として使います。(PSH_AEROWIZARD指定時無効)
PSP_USEREFPARENT(0x00000040)この構造体から作成されたページが有効の間、pcRefParentメンバに指定された参照カウントを維持します。
PSP_USETITLE(0x00000008)pszTitleメンバをダイアログボックステンプレートに格納されているタイトルではなく、プロパティシートダイアログボックスのタイトルとして使用します。(PSH_AEROWIZARD指定時無効)

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

pszTemplate (LPCSTR)
ページの作成に使用するダイアログボックステンプレート。このメンバに、ダイアログボックスのリソースIDかテンプレートの名前が入った文字列へのアドレスを指定します。 dwFlagsにPSP_DLGINDIRECTが指定されている場合は、このメンバは無視されます。
pszTemplateはpResourceとの共用体です。

pResource (LPCDLGTEMPLATE)
ページの作成に使用するメモリ内のダイアログボックステンプレートへのポインタ。 dwFlagsにPSP_DLGINDIRECTが指定されている必要があります。 pResourceはpszTemplateとの共用体です。

hIcon (HICON)
ページのタブアイコンとして使用するアイコンを指定します。 dwFlagsにPSP_USEHICONが指定されている必要があります。 hIconはpszIconとの共用体です。

pszIcon (LPCSTR)
ページのタブアイコンとして使用するアイコンリソースを指定します。このメンバに、アイコンリソースIDかリソースの名前が入った文字列へのアドレスを指定します。 dwFlagsにPSP_USEHICONが指定されている必要があります。 pszIconはhIconとの共用体です。

pszTitle (LPCSTR)
プロパティシートのタイトル。このメンバに、文字列リソースIDか指定するタイトルが入った文字列へのアドレスを指定します。 ダイアログテンプレートで指定されたタイトルを上書きします。 dwFlagsにPSP_USETITLEが指定されている必要があります。

pfnDlgProc (DLGPROC)
ページのダイアログボックスプロシージャのポインタ。ダイアログプロシージャーは、EndDialog関数を呼び出さないでください。

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

pfnCallback (LPFNPSPCALLBACK)
ページが作成、または破棄されようとしているときに呼び出される、コールバック関数へのポインタを指定します。 dwFlagsにPSP_USECALLBACKが指定されている必要があります。 コールバック関数の詳細:PropSheetPageProc

pcRefParent (UINT*)
参照カウント値へのポインタ。プロパティシートページが作成されると、pcRefParentが指す値がインクリメントされ、破棄されると、デクリメントされます。 dwFlagsにPSP_USEREFPARENTが指定されている必要があります。

pszHeaderTitle (LPCTSTR)
Version 5.80以降対応。
ヘッダー領域のタイトル。
PROPSHEETHEADER構造体のdwFlagsメンバにPSH_WIZARD97を指定する必要があります。
dwFlagsにPSP_USEHEADERTITLEを指定します。 dwFlagsにPSP_HIDEHEADERは指定しません。

pszHeaderSubTitle (LPCTSTR)
Version 5.80対応。
ヘッダー領域のサブタイトル。
PROPSHEETHEADER構造体のdwFlagsメンバにPSH_WIZARD97を指定する必要があります。
dwFlagsにPSP_USEHEADERSUBTITLEを指定します。 dwFlagsにPSP_HIDEHEADERは指定しません。

hActCtx (HANDLE)
Version 6.00以降対応。
アクティベーションコンテキストハンドルを指定します。 CreateActCtxで返されるハンドルを指定します。ダイアログボックスを作成する前に、このコンテキストが有効になります。 グローバルマニフェストを使用する場合は、このメンバを使用する必要はありません。


HSPでの構造体


配列の添え字対応するメンバ名オフセット (byte)サイズ (byte)
psp(0)dwSize04
psp(1)dwFlags44
psp(2)hInstance84
psp(3)pszTemplate / pResource124
psp(4)hIcon / pszIcon164
psp(5)pszTitle204
psp(6)pfnDlgProc244
psp(7)lParam284
psp(8)pfnCallback324
psp(9)pcRefParent364
psp(10)pszHeaderTitle404
psp(11)pszHeaderSubTitle444
psp(12)hActCtx484




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