CSnapInPropertyPageImpl クラス

このクラスは、スナップイン プロパティ ページ オブジェクトを実装するためのメソッドを提供します。

重要

このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。

構文

CSnapInPropertyPageImpl : public CDialogImplBase

メンバー

パブリック コンストラクター

名前 説明
CSnapInPropertyPageImpl::CSnapInPropertyPageImpl コンストラクターです。

パブリック メソッド

名前 説明
CSnapInPropertyPageImpl::CancelToClose [OK] および [キャンセル] ボタンの状態を変更します。
CSnapInPropertyPageImpl::Create 新しく作成された CSnapInPropertyPageImpl オブジェクトを初期化します。
CSnapInPropertyPageImpl::OnApply ウィザード型のプロパティ シートを使用しているときにユーザーが [今すぐ適用] ボタンをクリックすると、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnHelp ウィザード型のプロパティ シートを使用しているときにユーザーが [ヘルプ] ボタンをクリックすると、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnKillActive 現在のページがアクティブではなくなったときに、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnQueryCancel ユーザーが [キャンセル] ボタンをクリックしたときに、キャンセルが行われる前にフレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnReset ウィザード型のプロパティ シートを使用しているときにユーザーが [リセット] ボタンをクリックすると、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnSetActive 現在のページがアクティブになったときに、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnWizardBack ウィザード型のプロパティ シートを使用しているときにユーザーが [戻る] ボタンをクリックすると、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnWizardFinish ウィザード型のプロパティ シートを使用しているときにユーザーが [完了] ボタンをクリックすると、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::OnWizardNext ウィザード型のプロパティ シートを使用しているときにユーザーが [次へ] ボタンをクリックすると、フレームワークによって呼び出されます。
CSnapInPropertyPageImpl::QuerySiblings 現在のメッセージをプロパティ シートのすべてのページに転送します。
CSnapInPropertyPageImpl::SetModified [今すぐ適用] ボタンをアクティブまたは非アクティブにするために呼び出します。

パブリック データ メンバー

名前 説明
CSnapInPropertyPageImpl::m_psp CSnapInPropertyPageImpl オブジェクトによって使用される Windows の PROPSHEETPAGE 構造体。

解説

CSnapInPropertyPageImpl は、スナップイン プロパティ ページ オブジェクトの基本的な実装を提供します。 スナップイン プロパティ ページの基本的な機能は、いくつかの異なるインターフェイスとマップの種類を使用して実装されます。

継承階層

CDialogImplBase

CSnapInPropertyPageImpl

必要条件

ヘッダー: atlsnap.h

CSnapInPropertyPageImpl::CancelToClose

この関数は、モーダル プロパティ シートのページのデータに回復不能な変更が加えられた後に呼び出します。

void CancelToClose();

解説

この関数は、[OK] ボタンを [閉じる] に変更し、[キャンセル] ボタンを無効にします。 この変更によって、変更が永続的であり、変更をキャンセルできないことがユーザーに警告されます。

モードレス プロパティ シートの場合、既定で [キャンセル] ボタンがないため、CancelToClose メンバー関数は何も実行しません。

CSnapInPropertyPageImpl::CSnapInPropertyPageImpl

CSnapInPropertyPageImpl オブジェクトを構築します。

CSnapInPropertyPageImpl(LPCTSTR lpszTitle = NULL);

パラメーター

lpszTitle
[入力] プロパティ ページのタイトル。

解説

基になる構造体を初期化するには、CSnapInPropertyPageImpl::Create を呼び出します。

CSnapInPropertyPageImpl::Create

プロパティ ページの基になる構造体を初期化するには、この関数を呼び出します。

HPROPSHEETPAGE Create();

戻り値

新しく作成されたプロパティ シートの属性を含む PROPSHEETPAGE 構造体へのハンドル。

解説

この関数を呼び出す前に、まず CSnapInPropertyPageImpl::CSnapInPropertyPageImpl を呼び出す必要があります。

CSnapInPropertyPageImpl::m_psp

m_psp は、メンバーに PROPSHEETPAGE の特性が格納されている構造体です。

PROPSHEETPAGE m_psp;

解説

この構造体を使用して、プロパティが構築された後に外観を初期化します。

メンバーの一覧など、この構造体の詳細については、Windows SDK の PROPSHEETPAGEを参照してください。

CSnapInPropertyPageImpl::OnApply

このメンバー関数は、ユーザーが [OK] または [今すぐ適用] ボタンをクリックしたときに呼び出されます。

BOOL OnApply();

戻り値

変更を受け入れる場合は 0 以外、それ以外の場合は 0。

解説

OnApply がフレームワークによって呼び出される前に、SetModified を呼び出して、そのパラメーターを TRUE に設定しておく必要があります。 これにより、ユーザーがプロパティ ページを変更するとすぐに [今すぐ適用] ボタンがアクティブになります。

ユーザーが [今すぐ適用] ボタンをクリックしたときにプログラムで実行するアクションを指定するには、このメンバー関数をオーバーライドします。 オーバーライドした場合、関数は、変更を受け入れるには TRUE を返し、変更が有効になるのを防ぐには FALSE を返す必要があります。

OnApply の既定の実装では、TRUE が返されます。

CSnapInPropertyPageImpl::OnHelp

このメンバー関数は、ユーザーがプロパティ ページの [ヘルプ] ボタンをクリックしたときに呼び出されます。

void OnHelp();

解説

プロパティ ページのヘルプを表示するには、このメンバー関数をオーバーライドします。

CSnapInPropertyPageImpl::OnKillActive

このメンバー関数は、ページがアクティブなページではなくなったときに呼び出されます。

BOOL OnKillActive();

戻り値

データが正常に更新された場合は 0 以外、それ以外の場合は 0。

解説

特別なデータ検証タスクを実行するには、このメンバー関数をオーバーライドします。

CSnapInPropertyPageImpl::OnQueryCancel

このメンバー関数は、ユーザーが [キャンセル] をクリックした場合に、キャンセルのアクションが実行される前に呼び出されます。

BOOL OnQueryCancel();

戻り値

キャンセル操作を許可する場合は 0 以外、それ以外の場合は 0。

解説

ユーザーが [キャンセル] ボタンをクリックしたときにプログラムで実行するアクションを指定するには、このメンバー関数をオーバーライドします。

OnQueryCancel の既定の実装では、TRUE が返されます。

CSnapInPropertyPageImpl::OnReset

このメンバー関数は、ユーザーが [キャンセル] ボタンをクリックしたときに呼び出されます。

void OnReset();

解説

この関数が呼び出されると、ユーザーが以前に [今すぐ適用] ボタンをクリックして行ったすべてのプロパティ ページへの変更は破棄され、プロパティ シートはフォーカスを保持します。

ユーザーが [キャンセル] ボタンをクリックしたときにプログラムで実行するアクションを指定するには、このメンバー関数をオーバーライドします。

CSnapInPropertyPageImpl::OnSetActive

このメンバー関数は、ページがユーザーによって選択され、アクティブなページになったときに呼び出されます。

BOOL OnSetActive();

戻り値

ページが正常にアクティブに設定された場合は 0 以外、それ以外の場合は 0。

解説

ページがアクティブ化されたときにタスクを実行するには、このメンバー関数をオーバーライドします。 このメンバー関数をオーバーライドする場合は、他の処理が実行される前に既定のバージョンを呼び出す必要があります。

既定の実装では、TRUE が返されます。

CSnapInPropertyPageImpl::OnWizardBack

このメンバー関数は、ユーザーが [戻る] ボタンをクリックしたときに呼び出されます。

BOOL OnWizardBack();

戻り値

  • 前のページに自動的に戻る場合は 0。

  • ページの変更を防ぐ場合は -1。

次のページ以外のページに移動するには、表示するダイアログ ボックスの識別子を返します。

解説

[戻る] ボタンをクリックしたときにユーザーが実行する必要があるアクションを指定するには、このメンバー関数をオーバーライドします。

CSnapInPropertyPageImpl::OnWizardFinish

このメンバー関数は、ユーザーがウィザードで [完了] ボタンをクリックしたときに呼び出されます。

BOOL OnWizardFinish();

戻り値

ウィザードが完了したときにプロパティ シートが破棄される場合は 0 以外、それ以外の場合は 0。

解説

[完了] ボタンをクリックしたときにユーザーが実行する必要があるアクションを指定するには、このメンバー関数をオーバーライドします。

CSnapInPropertyPageImpl::OnWizardNext

このメンバー関数は、ユーザーが [次へ] ボタンをクリックしたときに呼び出されます。

BOOL OnWizardNext();

戻り値

  • 次のページに自動的に進む場合は 0。

  • ページの変更を防ぐ場合は -1。

次のページ以外のページに移動するには、表示するダイアログ ボックスの識別子を返します。

解説

[次へ] ボタンをクリックしたときにユーザーが実行する必要があるアクションを指定するには、このメンバー関数をオーバーライドします。

CSnapInPropertyPageImpl::QuerySiblings

プロパティ シートの各ページにメッセージを転送するには、このメンバー関数を呼び出します。

LRESULT QuerySiblings(WPARAM wParam, LPARAM lParam);

パラメーター

wParam
[入力] 追加のメッセージ依存情報を指定します。

lParam
[入力] 追加のメッセージ依存情報を指定します。

戻り値

メッセージを次のプロパティ ページに転送する必要がない場合は 0 以外、それ以外の場合は 0。

解説

ページから 0 以外の値が返される場合、プロパティ シートはメッセージを後続のページに送信しません。

CSnapInPropertyPageImpl::SetModified

プロパティ ページの設定を適切な外部オブジェクトに適用する必要があるかどうかに基づいて、[今すぐ適用] を有効または無効にするには、このメンバー関数を呼び出します。

void SetModified(BOOL bChanged = TRUE);

パラメーター

bChanged
[入力] プロパティ ページの設定が最後に適用されて以降に変更されたことを示す場合は TRUE、プロパティ ページの設定が適用されているか、無視する必要があるかを示す場合は FALSE。

解説

プロパティ シートでは、"ダーティ" なページ、つまり SetModified( TRUE ) が呼び出されたプロパティ ページを追跡します。 いずれかのページで SetModified( TRUE ) を呼び出すと、[今すぐ適用] ボタンは常に有効になります。 いずれかのページで SetModified( FALSE ) を呼び出し、他のページはいずれも "ダーティ" ではない場合にのみ、[今すぐ適用] ボタンは無効になります。

関連項目

クラスの概要