Share via


PropSheet_InsertPage マクロ (prsht.h)

既存のプロパティ シートに新しいページを挿入します。 ページは、指定したインデックスに挿入することも、指定したページの後に挿入することもできます。 このマクロを使用するか、 PSM_INSERTPAGE メッセージを明示的に送信できます。

構文

void PropSheet_InsertPage(
   hDlg,
   index,
   hpage
);

パラメーター

hDlg

種類: HWND

プロパティ シートへのハンドル。

index

種類: HWND

ページを挿入する場所。 新しいページを最初のページにするには、 wParamNULL に 設定します。 新しいページを挿入する場所を指定するには、インデックスまたは既存のページの HPROPSHEETPAGE ハンドルを渡します。

意味
インデックス
wParam が MAXUSHORT (最大符号なし短整数) より小さい場合は、新しいページの 0 から始まるインデックスを指定します。 たとえば、挿入されたページをプロパティ シートの 3 番目のページにするには、index を 2 に設定 します 。 最初のページにするには、index を 0 に設定 しますindex の値がページ数より大きく、MAXUSHORT より小さい場合は、ページが追加されます。
hpageInsertAfter
既存のページの HPROPSHEETPAGE ハンドルに wParam を設定すると、その後に新しいページが挿入されます。

hpage

種類: HWND

挿入するページへのハンドル。 ページは、まず CreatePropertySheetPage 関数の呼び出しによって作成する必要があります。

戻り値

なし

解説

挿入ポイントの後のページは、新しいページに合わせて右にシフトされます。

プロパティ シートのサイズは、新しいページに合わせて変更されません。 新しいページをプロパティ シートの最大ページより大きくしないでください。

プロパティ シートがページの一覧を操作している間に、多数のメッセージと 1 つの関数呼び出しが発生します。 このアクションが実行されている間に、ページの一覧を変更しようとすると、予期しない結果が発生します。 したがって、PropSheetPageProc の実装で、または次の通知と Windows メッセージを処理するときに、PropSheet_InsertPage マクロを使用しないでください。

これらのメッセージの 1 つを処理している間、または PropSheetPageProc の実行中にプロパティ シート ページを変更する必要がある場合は、プライベート Windows メッセージを自分で投稿してください。 プロパティ シート マネージャーがタスクを完了するまで、アプリケーションはそのメッセージを受け取りません。 その後、ページの一覧を変更できます。

次の通知もプロパティ シートの変更の影響を受けます。

必要な新しいページを指定するために 0 以外の値を (DWL_MSGRESULT経由で) 返す場合は、これらの通知に応答してページを追加または削除できます。 ただし、現在のページの前にあるページ (現在のページよりも小さいインデックスを持つページ) を挿入すると、 PSN_KILLACTIVE が間違ったページに送信される可能性があることに注意してください。
メモ このマクロは、Aero ウィザード スタイル (PSH_AEROWIZARD) を使用する場合はサポートされていません。
 

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー prsht.h