プロパティ ページは、IPropertyPage インターフェイスや IPropertyPage2 インターフェイスを実装する COM オブジェクトです。 ATL では、[クラスの追加] ダイアログ ボックスの ATL プロパティ ページ ウィザードによって、プロパティ ページの実装をサポートしています。
ATL でプロパティ ページを作成するには、次の作業を実行します。
ATL ダイナミック リンク ライブラリ (DLL: Dynamic Link Library) サーバー プロジェクトを作成するか、または開きます。
[クラスの追加] ダイアログ ボックスを開き、[ATL プロパティ ページ] を選択します。
プロパティ ページにはユーザー インターフェイスがあるため、プロパティ ページがアパートメント スレッドであることを確認します。
ページに関連付けるタイトル、説明 (ドキュメント文字列)、およびヘルプ ファイルを設定します。
生成したダイアログ リソースに、プロパティ ページのユーザー インターフェイスとして使用するコントロールを追加します。
検証、ページ サイトの更新、またはページに関連するオブジェクトの更新を行うために、ページのユーザー インターフェイスの変更に対応します。 特に、ユーザーがプロパティ ページに変更を加えたときは、IPropertyPageImpl::SetDirty を呼び出します。
次のガイドラインに従って、IPropertyPageImpl のメソッドをオーバーライドすることもできます。
IPropertyPageImpl メソッド
オーバーライドが必要になるケース
注意
ページに渡すオブジェクトの数とオブジェクトがサポートするインターフェイスに関して、基本的な正常性チェックを行う場合
基本クラスの実装を呼び出す前に、コードを実行してください。 設定されたオブジェクトが予測どおりに動作しない場合は、すぐに呼び出しを中止する必要があります。
ページのユーザー インターフェイスを初期化する場合 (たとえば、オブジェクトの現在のプロパティ値を使用してダイアログ ボックスのコントロールを設定したり、コントロールを動的に作成したり、その他の初期化を行ったりする場合など)
基本クラスの実装を呼び出してから、コードを呼び出してください。そうすると、ダイアログ ウィンドウやすべてのコントロールを基本クラスで作成してから、コードで更新できます。
プロパティの設定値を検証してからオブジェクトを更新する場合
基本クラスの実装は、呼び出しのトレース以外何もしないため、呼び出す必要はありません。
ウィンドウの関連項目をクリーンアップする場合
基本クラスの実装は、プロパティ ページを表すダイアログ ボックスを破棄します。 ダイアログ ボックスが破棄される前にクリーンアップを行う必要がある場合は、基本クラスを呼び出す前にコードを追加してください。
プロパティ ページの実装、例を参照してください例:プロパティ ページの実装。
注意
プロパティ ページで ActiveX コントロールをホストする場合は、ウィザードによって生成されたクラスの派生を変更する必要があります。 基本クラスの一覧にある CDialogImpl<CYourClass> を CAxDialogImpl<CYourClass> に置き換えてください。
参照
処理手順
ATLPages サンプル:IPropertyPageImpl を使用して、プロパティ ページを実装します。