プロパティ ページの実装

ATL プロパティ ページ ウィザードは、Visual Studio 2019 以降では使用できません。

プロパティ ページは、IPropertyPage または IPropertyPage2 インターフェイスを実装する COM オブジェクトです。 ATL では、[クラスの追加] ダイアログ ボックスATL プロパティ ページ ウィザード経由のプロパティ ページの実装をサポートしています。

ATL を使用してプロパティ ページを作成するには:

  • ATL ダイナミック リンク ライブラリ (DLL) サーバー プロジェクトを作成するか開きます。

  • [クラスの追加] ダイアログ ボックスを開き、[ATL プロパティ ページ] を開きます。

  • プロパティ ページがアパートメント スレッドであることを確認します (ユーザー インターフェイスがあるため)。

  • タイトル、説明 (ドキュメント文字列)、およびページに関連付けるヘルプ ファイルを設定します。

  • 生成されたダイアログ リソースに、プロパティ ページのユーザー インターフェイスとして機能するコントロールを追加します。

  • ページのユーザー インターフェイスの変更に応じて、検証の実行、ページ サイトの更新、またはページに関連付けられたオブジェクトの更新を実行します。 特に、ユーザーがプロパティ ページを変更した場合は、IPropertyPageImpl::SetDirty を呼び出します。

  • 必要に応じて、次のガイドラインを使用して IPropertyPageImpl メソッドをオーバーライドします。

    IPropertyPageImpl メソッド オーバーライドの目的... メモ
    SetObjects ページに渡される複数のオブジェクトとそれらがサポートするインターフェイスの基本的なサニティ チェックを実行します。 基底クラスの実装を呼び出す前に、自分のコードを実行します。 設定されるオブジェクトが期待に沿っていない場合は、できるだけ早く呼び出しを失敗させる必要があります。
    アクティブ化します ページのユーザー インターフェイスを初期化します (例: ダイアログのコントロールにオブジェクトの現在のプロパティ値を設定する、コントロールを動的に作成する、その他の初期化を実行する)。 自分のコードで更新を試行する前に基底クラスの実装を呼び出して、基底クラスでダイアログ ウィンドウとすべてのコントロールが作成できるようにします。
    [適用] プロパティの設定を検証し、オブジェクトを更新します。 呼び出しのトレース以外のことは行われないため、基底クラスの実装を呼び出す必要はありません。
    非アクティブ化 ウィンドウに関連する項目をクリーンアップします。 基底クラスの実装では、プロパティ ページを表すダイアログ ボックスが破棄されます。 ダイアログ ボックスが破棄される前にクリーンアップする必要がある場合は、基底クラスを呼び出す前に、自分のコードを追加する必要があります。

プロパティ ページの実装の例については、「例: プロパティ ページの実装」を参照してください。

Note

プロパティ ページに ActiveX コントロールをホストする場合は、ウィザードで生成されたクラスの派生を変更する必要があります。 基底クラスの一覧の CDialogImpl<CYourClass>CAxDialogImpl<CYourClass> に置き換えます。

関連項目

プロパティ ページ
ATLPages の例