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が返されたかどうかを知る必要がある場合があります。 モードレス プロパティ シートでは、モーダル プロパティ シートが PropertySheet から受け取った値を取得するには、PSM_GETCURRENTPAGEHWNDが NULL を返すまで待機し、PSM_GETRESULT メッセージを送信します。

注意

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

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー prsht.h
Library Comctl32.lib
[DLL] Comctl32.dll
API セット ext-ms-win-shell-comctl32-window-l1-1-0 (Windows 10 バージョン 10.0.14393 で導入)