Share via


COlePropertyPage クラス

ダイアログ ボックスのようなグラフィカルなインターフェイスでカスタム コントロールのプロパティを表示します。

構文

class AFX_NOVTABLE COlePropertyPage : public CDialog

メンバー

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

名前 説明
COlePropertyPage::COlePropertyPage COlePropertyPage オブジェクトを構築します。

パブリック メソッド

名前 説明
COlePropertyPage::GetControlStatus ユーザーがコントロールの値を変更したかどうかを示します。
COlePropertyPage::GetObjectArray プロパティ ページによって編集されているオブジェクトの配列を返します。
COlePropertyPage::GetPageSite プロパティ ページ IPropertyPageSite のインターフェイスへのポインターを返します。
COlePropertyPage::IgnoreApply [適用] ボタンを有効にしないコントロールを指定します。
COlePropertyPage::IsModified ユーザーがプロパティ ページを変更したかどうかを示します。
COlePropertyPage::OnEditProperty ユーザーがプロパティを編集するときにフレームワークによって呼び出されます。
COlePropertyPage::OnHelp ユーザーがヘルプを呼び出すときにフレームワークによって呼び出されます。
COlePropertyPage::OnInitDialog プロパティ ページが初期化されるときにフレームワークによって呼び出されます。
COlePropertyPage::OnObjectsChanged 新しいプロパティを持つ別の OLE コントロールが選択されたときに、フレームワークによって呼び出されます。
COlePropertyPage::OnSetPageSite プロパティ フレームがページのサイトを提供するときにフレームワークによって呼び出されます。
COlePropertyPage::SetControlStatus ユーザーがコントロールの値を変更したかどうかを示すフラグを設定します。
COlePropertyPage::SetDialogResource プロパティ ページのダイアログ リソースを設定します。
COlePropertyPage::SetHelpInfo プロパティ ページの簡単なヘルプ テキスト、ヘルプ ファイルの名前、およびヘルプ コンテキストを設定します。
COlePropertyPage::SetModifiedFlag ユーザーがプロパティ ページを変更したかどうかを示すフラグを設定します。
COlePropertyPage::SetPageName プロパティ ページの名前 (キャプション) を設定します。

解説

たとえば、プロパティ ページには、ユーザーがコントロールのキャプション プロパティを表示および変更できる編集コントロールが含まれている場合があります。

カスタム コントロールまたはストック コントロールの各プロパティには、コントロールのユーザーが現在のプロパティ値を表示し、必要に応じてその値を変更できるようにするダイアログ コントロールを持つことができます。

使用COlePropertyPageの詳細については、「ActiveX コントロール: プロパティ ページ」を参照してください

継承階層

CObject

CCmdTarget

CWnd

Cdialog

COlePropertyPage

必要条件

ヘッダー: afxctl.h

COlePropertyPage::COlePropertyPage

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

COlePropertyPage(
    UINT idDlg,
    UINT idCaption);

パラメーター

idDlg
ダイアログ テンプレートのリソース ID。

idCaption
プロパティ ページのキャプションのリソース ID。

解説

サブクラスCOlePropertyPageを実装するときは、サブクラスのコンストラクターを使用COlePropertyPageして、プロパティ ページの基になっているダイアログ テンプレート リソースと、そのキャプションを含む文字列リソースを識別する必要があります。

COlePropertyPage::GetControlStatus

指定したリソース ID を使用して、ユーザーがプロパティ ページ コントロールの値を変更したかどうかを判断します。

BOOL GetControlStatus(UINT nID);

パラメーター

nID
プロパティ ページ コントロールのリソース ID。

戻り値

コントロール値が変更された場合は TRUE。それ以外の場合は FAL Standard Edition。

COlePropertyPage::GetObjectArray

プロパティ ページによって編集されているオブジェクトの配列を返します。

LPDISPATCH* GetObjectArray(ULONG* pnObjects);

パラメーター

pnObjects
ページによって編集されているオブジェクトの数を受け取る符号なし長整数へのポインター。

戻り値

ポインターの IDispatch 配列へのポインター。プロパティ ページの各コントロールのプロパティにアクセスするために使用されます。 呼び出し元は、これらのインターフェイス ポインターを解放しないでください。

解説

各プロパティ ページ オブジェクトメインページによって編集されているオブジェクトのインターフェイスへのIDispatchポインターの配列が含まれます。 この関数は、その pnObjects 引数をその配列内の要素の数に設定し、配列の最初の要素へのポインターを返します。

COlePropertyPage::GetPageSite

プロパティ ページのインターフェイスへのポインターを IPropertyPageSite 取得します。

LPPROPERTYPAGESITE GetPageSite();

戻り値

プロパティ ページ IPropertyPageSite のインターフェイスへのポインター。

解説

コントロールとコンテナーは連携して、ユーザーがコントロールのプロパティを参照および編集できるようにします。 このコントロールはプロパティ ページを提供します。各ページは OLE オブジェクトであり、ユーザーは関連するプロパティ セットを編集できます。 コンテナーには、プロパティ ページを表示するプロパティ フレームが用意されています。 各ページについて、プロパティ フレームは、インターフェイスをサポートするページ サイトを IPropertyPageSite 提供します。

COlePropertyPage::IgnoreApply

[適用] ボタンを有効にしないコントロールを指定します。

void IgnoreApply(UINT nID);

パラメーター

nID
無視するコントロールの ID。

解説

プロパティ ページの [適用] ボタンは、プロパティ ページ コントロールの値が変更された場合にのみ有効になります。 この関数を使用して、値が変更されたときに [適用] ボタンを有効にしないコントロールを指定します。

COlePropertyPage::IsModified

ユーザーがプロパティ ページの値を変更したかどうかを判断します。

BOOL IsModified();

戻り値

プロパティ ページが変更されている場合は TRUE。

COlePropertyPage::OnEditProperty

フレームワークは、特定のプロパティを編集するときにこの関数を呼び出します。

virtual BOOL OnEditProperty(DISPID dispid);

パラメーター

dispid
編集中のプロパティのディスパッチ ID。

戻り値

既定の実装では FALSE が返されます。 この関数のオーバーライドは TRUE を返す必要があります。

解説

これをオーバーライドして、ページ上の適切なコントロールにフォーカスを設定できます。 既定の実装では何も行われないため、FAL Standard Edition が返されます。

COlePropertyPage::OnHelp

ユーザーがオンライン ヘルプを要求すると、フレームワークはこの関数を呼び出します。

virtual BOOL OnHelp(LPCTSTR lpszHelpDir);

パラメーター

lpszHelpDir
プロパティ ページのヘルプ ファイルを含むディレクトリ。

戻り値

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

解説

ユーザーがヘルプにアクセスするときにプロパティ ページで特別なアクションを実行する必要がある場合は、オーバーライドします。 既定の実装では何も行われないため、FAL Standard Edition が返されます。これにより、フレームワークで WinHelp を呼び出すように指示されます。

COlePropertyPage::OnInitDialog

フレームワークは、プロパティ ページのダイアログが初期化されるときに、この関数を呼び出します。

virtual BOOL OnInitDialog();

戻り値

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

解説

ダイアログの初期化時に特別なアクションが必要な場合は、オーバーライドします。 既定の実装は FAL Standard Edition を呼び出CDialog::OnInitDialogして返します。

COlePropertyPage::OnObjectsChanged

新しいプロパティを持つ別の OLE コントロールが選択されたときに、フレームワークによって呼び出されます。

virtual void OnObjectsChanged();

解説

開発環境で OLE コントロールのプロパティを表示する場合は、モードレス ダイアログ ボックスを使用してプロパティ ページを表示します。 別のコントロールが選択されている場合は、新しいプロパティ セットに対して別のプロパティ ページ セットを表示する必要があります。 フレームワークは、この関数を呼び出して、プロパティ ページに変更を通知します。

このアクションの通知を受け取り、特別なアクションを実行するには、この関数をオーバーライドします。

COlePropertyPage::OnSetPageSite

フレームワークは、プロパティ フレームがプロパティ ページのページ サイトを提供するときに、この関数を呼び出します。

virtual void OnSetPageSite();

解説

既定の実装では、ページのキャプションを読み込み、ダイアログ リソースからページのサイズを決定しようとします。 プロパティ ページで追加のアクションが必要な場合は、この関数をオーバーライドします。オーバーライドは基底クラスの実装を呼び出す必要があります。

COlePropertyPage::SetControlStatus

プロパティ ページ コントロールの状態を変更します。

BOOL SetControlStatus(
    UINT nID,
    BOOL bDirty);

パラメーター

nID
プロパティ ページ コントロールの ID を格納します。

bDirty
プロパティ ページのフィールドが変更されているかどうかを指定します。 フィールドが変更されている場合は TRUE、変更されていない場合は FAL Standard Edition に設定します。

戻り値

指定したコントロールが設定されている場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

プロパティ ページが閉じているか、[適用] ボタンが選択されたときにプロパティ ページ コントロールの状態がダーティ場合、コントロールのプロパティは適切な値で更新されます。

COlePropertyPage::SetDialogResource

プロパティ ページのダイアログ リソースを設定します。

void SetDialogResource(HGLOBAL hDialog);

パラメーター

hDialog
プロパティ ページのダイアログ リソースへのハンドル。

COlePropertyPage::SetHelpInfo

プロパティ ページのヒント情報、ヘルプ ファイル名、およびヘルプ コンテキストを指定します。

void SetHelpInfo(
    LPCTSTR lpszDocString,
    LPCTSTR lpszHelpFile = NULL,
    DWORD dwHelpContext = 0);

パラメーター

lpszDocString
ステータス バーまたはその他の場所に表示するための簡単なヘルプ情報を含む文字列。

lpszHelpFile
プロパティ ページのヘルプ ファイルの名前。

dwHelpContext
プロパティ ページのヘルプ コンテキスト。

COlePropertyPage::SetModifiedFlag

ユーザーがプロパティ ページを変更したかどうかを示します。

void SetModifiedFlag(BOOL bModified = TRUE);

パラメーター

bModified
プロパティ ページの変更されたフラグの新しい値を指定します。

COlePropertyPage::SetPageName

プロパティ ページの名前を設定します。通常、プロパティ フレームはページのタブに表示されます。

void SetPageName(LPCTSTR lpszPageName);

パラメーター

lpszPageName
プロパティ ページの名前を含む文字列へのポインター。

関連項目

MFC サンプル CIRC3
MFC サンプル TESTHELP
CDialog クラス
階層図
CDialog クラス