次の方法で共有


プロパティ ページの実装

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

ATL でプロパティ ページを作成するには、次の作業を実行します。

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

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

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

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

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

  • 検証、ページ サイトの更新、またはページに関連するオブジェクトの更新を行うために、ページのユーザー インターフェイスの変更に対応します。 特に、ユーザーがプロパティ ページに変更を加えたときは、IPropertyPageImpl::SetDirty を呼び出します。

  • 次のガイドラインに従って、IPropertyPageImpl のメソッドをオーバーライドすることもできます。

    IPropertyPageImpl メソッド

    オーバーライドが必要になるケース

    注意

    SetObjects

    ページに渡すオブジェクトの数とオブジェクトがサポートするインターフェイスに関して、基本的な正常性チェックを行う場合

    基本クラスの実装を呼び出す前に、コードを実行してください。 設定されたオブジェクトが予測どおりに動作しない場合は、すぐに呼び出しを中止する必要があります。

    Activate

    ページのユーザー インターフェイスを初期化する場合 (たとえば、オブジェクトの現在のプロパティ値を使用してダイアログ ボックスのコントロールを設定したり、コントロールを動的に作成したり、その他の初期化を行ったりする場合など)

    基本クラスの実装を呼び出してから、コードを呼び出してください。そうすると、ダイアログ ウィンドウやすべてのコントロールを基本クラスで作成してから、コードで更新できます。

    Apply

    プロパティの設定値を検証してからオブジェクトを更新する場合

    基本クラスの実装は、呼び出しのトレース以外何もしないため、呼び出す必要はありません。

    Deactivate

    ウィンドウの関連項目をクリーンアップする場合

    基本クラスの実装は、プロパティ ページを表すダイアログ ボックスを破棄します。 ダイアログ ボックスが破棄される前にクリーンアップを行う必要がある場合は、基本クラスを呼び出す前にコードを追加してください。

プロパティ ページの実装、例を参照してください例:プロパティ ページの実装

注意

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

参照

処理手順

ATLPages サンプル:IPropertyPageImpl を使用して、プロパティ ページを実装します。

概念

ATL COM プロパティ ページ