次の方法で共有


PropertySheetW 関数 (prsht.h)

プロパティ シートを作成し、指定したプロパティ シートヘッダー構造で定義されているページを追加します。

構文

INT_PTR PropertySheetW(
  LPCPROPSHEETHEADERW unnamedParam1
);

パラメーター

unnamedParam1

型: LPCPROPSHEETHEADER

プロパティ シートのフレームとページを定義する PROPSHEETHEADER 構造体へのポインター。

戻り値

型: INT_PTR

モーダル プロパティ シートの戻り値は次のとおりです。

>=1 変更はユーザーによって保存されました。
0 ユーザーによって変更が保存されませんでした。
-1 エラーが発生しました。
 

モードレス プロパティ シートの場合、戻り値はプロパティ シートのウィンドウ ハンドルです。

次の戻り値は特別な意味を持ちます。

リターン コード 形容
ID_PSREBOOTSYSTEM
ページがプロパティ シートに PSM_REBOOTSYSTEM メッセージを送信しました。 ユーザーの変更を有効にするには、コンピューターを再起動する必要があります。
ID_PSRESTARTWINDOWS
ページがプロパティ シートに PSM_RESTARTWINDOWS メッセージを送信しました。 ユーザーの変更を有効にするには、Windows を再起動する必要があります。

備考

拡張エラー情報を取得するには、GetLastError呼び出します。

プロパティ シートに 99 ページを超えるページを追加しようとすると、この関数は失敗しますが、エラーの原因は示されません。PropertySheet は -1 の値を返しますが、GetLastError は 0 を返します。

次の注釈は、Aero ウィザード スタイル (PSH_AEROWIZARD) またはウィザード以外のプロパティ シートを使用しないウィザードのみを指します。
 
既定では、PropertySheet 関数はモーダル ダイアログ ボックスを作成します。 PROPSHEETHEADER 構造体の dwFlags メンバーがPSH_MODELESS フラグを指定した場合、PropertySheet モードレス ダイアログ ボックスが作成され、作成された直後に返されます。 この場合、PropertySheet 戻り値は、モードレス ダイアログ ボックスへのウィンドウ ハンドルです。

モードレス プロパティ シートの場合、メッセージ ループでは、PSM_ISDIALOGMESSAGE を使用してプロパティ シート ダイアログ ボックスにメッセージを渡す必要があります。 メッセージ ループでは、PSM_GETCURRENTPAGEHWND を使用して、ダイアログ ボックスを破棄するタイミングを決定する必要があります。 ユーザーが [OK] をクリックするか、[キャンセル] ボタン クリックすると、PSM_GETCURRENTPAGEHWND は NULL返します。 次に、DestroyWindow 関数を使用して、ダイアログ ボックスを破棄できます。

バージョン 5.80。 PropertySheet 戻り値には、モーダル プロパティ シートとモードレス プロパティ シートに関するさまざまな情報が含まれます。 場合によっては、モードレス プロパティ シートがモーダルであった場合に、PropertySheet から受け取った情報が必要になる場合があります。 特に、ID_PSREBOOTSYSTEMまたはID_PSRESTARTWINDOWSが返されたかどうかを知る必要がある場合があります。 モードレス プロパティ シートは、PSM_GETCURRENTPAGEHWND が NULL を返すまで待機し、PSM_GETRESULT メッセージを送信することで、モーダル プロパティ シートが PropertySheet から受け取った値 取得できます。

手記

prsht.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして PropertySheet を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー prsht.h
ライブラリ Comctl32.lib
DLL Comctl32.dll
API セットの ext-ms-win-shell-comctl32-window-l1-1-0 (Windows 10 バージョン 10.0.14393 で導入)