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