PSN_APPLY通知コード

ユーザーが [OK]、[閉じる]、または [適用] ボタンをクリックし、すべての変更を有効にすることを示すために、プロパティ シート内のすべてのページに送信されます。 この通知コードは、 WM_NOTIFY メッセージの形式で送信されます。

PSN_APPLY 

    lppsn = (LPPSHNOTIFY) lParam; 

パラメーター

lParam

ページの ID など、通知コードに関する情報を含む PSHNOTIFY 構造体へのポインター。

戻り値

このページに加えられた変更が有効であり、適用されていることを示すPSNRET_NOERRORを設定します。 すべてのページがPSNRET_NOERROR設定されている場合、プロパティ シートを破棄できます。 このページに加えられた変更が無効であることを示し、プロパティ シートが破棄されないようにするには、次のいずれかの戻り値を設定します。

  • PSNRET_INVALID。 プロパティ シートは破棄されず、フォーカスはこのページに返されます。
  • PSNRET_INVALID_NOCHANGEPAGE。 プロパティ シートは破棄されず、ボタンが押されたときにフォーカスがあったページにフォーカスが返されます。

戻り値を設定するには、ページのダイアログ ボックス プロシージャが DWL_MSGRESULT 値を持つ SetWindowLong 関数を呼び出す必要があり、ダイアログ ボックス プロシージャは TRUE を返す必要があります。

注釈

ユーザーが [OK]、[適用]、または [閉じる] ボタンをクリックすると、プロパティ シートからアクティブなページに PSN_KILLACTIVE 通知が送信され、ユーザーの変更を検証できます。 変更が有効な場合、プロパティ シートは各ページにPSN_APPLY通知コードを送信し、対応する項目に新しいプロパティを適用するように指示します。

Note

プロパティ シートは、PSN_APPLY通知コードが送信されたときにページの一覧を操作中です。 この通知の処理中に、ページの追加、削除、挿入を試みないでください。 これを行うと、予測できない結果が得られます。

ユーザーが [OK] ボタンをクリックすると、lParam が指す PSHNOTIFY 構造体の lParam メンバーは TRUE に設定されます。 また、PSM_CANCELTOCLOSE メッセージが送信され、ユーザーが [閉じる] ボタンをクリックした場合も TRUE に設定されます。 ユーザーが [適用] ボタンをクリックすると 、FALSE に設定されます。

PSHNOTIFY 構造体には、最初のメンバーである hdr として NMHDR 構造体が含まれています。この NMHDR 構造体の hwndFrom メンバーには、プロパティ シートへのハンドルが含まれています。

この通知コードを処理するときは 、EndDialog 関数を呼び出さないでください。

ユーザーが [OK] ボタンをクリックし、すべてのページがPSN_APPLYに応答してPSNRET_NOERROR値を返すと、モーダル プロパティ シート が破棄されます。 いずれかのページがPSNRET_INVALIDまたはPSNRET_INVALID_NOCHANGEPAGEを返した場合、適用プロセスはすぐに取り消されます。 取り消しページの後のページには、PSN_APPLY通知コードは表示されません。

この通知コードを受信するには、PSN_KILLACTIVE通知コードに応答して、ページで DWL_MSGRESULT 値を FALSE に設定する必要があります。

Note

Aero ウィザード スタイル (PSH_AEROWIZARD) を使用する場合、この通知コードはサポートされていません。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
Header
Prsht.h