PropertySheetW 関数 (prsht.h)
プロパティ シートを作成し、指定したプロパティ シートヘッダー構造で定義されているページを追加します。
構文
INT_PTR PropertySheetW(
LPCPROPSHEETHEADERW unnamedParam1
);
パラメーター
unnamedParam1
種類: LPCPROPSHEETHEADER
プロパティ シートのフレームとページを定義する PROPSHEETHEADER 構造体へのポインター。
戻り値
種類: INT_PTR
モーダル プロパティ シートの場合、戻り値は次のようになります。
>=1 | 変更はユーザーによって保存されました。 |
0 | ユーザーによって変更が保存されませんでした。 |
-1 | エラーが発生しました。 |
モードレス プロパティ シートの場合、戻り値はプロパティ シートのウィンドウ ハンドルです。
次の戻り値は特別な意味を持ちます。
リターン コード | 説明 |
---|---|
|
ページからプロパティ シートに PSM_REBOOTSYSTEM メッセージが送信されました。 ユーザーの変更を有効にするには、コンピューターを再起動する必要があります。 |
|
ページからプロパティ シートに PSM_RESTARTWINDOWS メッセージが送信されました。 ユーザーの変更を有効にするには、Windows を再起動する必要があります。 |
解説
拡張エラー情報を取得するには、 GetLastError を呼び出します。
プロパティ シートに 99 ページを超えるページを追加しようとすると、この関数は失敗しますが、エラーの原因は示されません。 PropertySheet は -1 の値を返しますが、 GetLastError は 0 を返します。
モードレス プロパティ シートの場合、メッセージ ループは 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 で導入) |