CPropertySheet::DoModal
モーダルのプロパティ シートを表示します。
virtual INT_PTR DoModal();
戻り値
関数が正常IDOK か IDCANCEL ; は 0 または -1。プロパティ シートがウィザードとして SetWizardMode (を参照) 確立されている場合、DoModal は ID_WIZFINISH か IDCANCELを返します。
解説
戻り値は、プロパティ シートを終了したコントロールの ID に対応します。この関数から制御が戻った後、プロパティ シート、すべてのページに対応するウィンドウが破棄されます。オブジェクト自体が存在します。通常 DoModal が IDOKが返された後は、CPropertyPage のオブジェクトからデータを取得します。
モードレス プロパティ シートを表示するには、[作成] を代わりに呼び出します。
プロパティ ページには、対応するダイアログ リソースから作成されると、によって初回例外が発生することがあります。これはダイアログ リソースのスタイルをに必要なスタイルにページが作成される前に変更するプロパティ ページが発生します。リソースは、通常、読み取り専用のため、これによって例外が発生します。システムで例外を処理し、変更されたリソースのコピーを作成します。したがって、初回例外は無視できます。
[!メモ]
この例外は、オペレーティング システムによって処理モデルで非同期例外にコンパイルして扱う必要があります。例外処理モデルの詳細については、/EH (例外処理モデル)を参照してください。この場合、catch がすべての例外を処理 catch (...)、たとえば、C ++.の try-catch ブロックで CPropertySheet::DoModal の呼び出しをラップしてください。このブロックは、オペレーティング システム用の例外を処理し予測できない動作が発生します。ただし、安全に特定の例外の種類と C++ 例外処理、または構成されたアクセス違反の例外がオペレーティング システムに渡す場合は例外処理を使用できます。
この初回例外を生成するようにするには、手動でプロパティ シートに正しい ウィンドウ スタイルがあることを保証することができます。プロパティ シートの次のスタイルを設定する必要があります:
DS_3DLOOK
DS_CONTROL
WS_CHILD
WS_TABSTOP
初回例外を与えずに次のオプションのスタイルを使用できます:
DS_SHELLFONT
DS_LOCALEDIT
WS_CLIPCHILDREN
プロパティ シートと互換性のないため、Windows の他のスタイルをすべて無効にします。この通知は拡張スタイルには適用されません。プロパティ シートを変更する必要がない保証、初回例外が生成されることを回避できます。これらの標準スタイルを適切に設定します。
使用例
CPropertySheet::AddPageの例を参照してください。
必要条件
ヘッダー : afxdlgs.h