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 コントロール: プロパティ ページ」を参照してください。
継承階層
COlePropertyPage
要件
Header: 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。それ以外の場合は FALSE。
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 を返す必要があります。
解説
これをオーバーライドして、ページ上の適切なコントロールにフォーカスを設定できます。 既定の実装では何も行われないため、FALSE が返されます。
COlePropertyPage::OnHelp
ユーザーがオンライン ヘルプを要求すると、フレームワークはこの関数を呼び出します。
virtual BOOL OnHelp(LPCTSTR lpszHelpDir);
パラメーター
lpszHelpDir
プロパティ ページのヘルプ ファイルを含むディレクトリ。
戻り値
既定の実装では FALSE が返されます。
解説
ユーザーがヘルプにアクセスするときにプロパティ ページで特別なアクションを実行する必要がある場合は、オーバーライドします。 既定の実装では何も行われないため、FALSE が返されます。これにより、フレームワークで WinHelp を呼び出すように指示されます。
COlePropertyPage::OnInitDialog
フレームワークは、プロパティ ページのダイアログが初期化されるときに、この関数を呼び出します。
virtual BOOL OnInitDialog();
戻り値
既定の実装では FALSE が返されます。
解説
ダイアログの初期化時に特別なアクションが必要な場合は、オーバーライドします。 既定の実装は CDialog::OnInitDialog
を呼び出し、FALSE を返します。
COlePropertyPage::OnObjectsChanged
新しいプロパティを持つ別の OLE コントロールが選択されたときに、フレームワークによって呼び出されます。
virtual void OnObjectsChanged();
解説
開発環境で OLE コントロールのプロパティを表示する場合は、モードレス ダイアログ ボックスを使用してプロパティ ページを表示します。 別のコントロールが選択されている場合は、新しいプロパティ セットに対して別のプロパティ ページ セットを表示する必要があります。 フレームワークは、この関数を呼び出して、プロパティ ページに変更を通知します。
このアクションの通知を受け取り、特別なアクションを実行するには、この関数をオーバーライドします。
COlePropertyPage::OnSetPageSite
フレームワークは、プロパティ フレームがプロパティ ページのページ サイトを提供するときに、この関数を呼び出します。
virtual void OnSetPageSite();
解説
既定の実装では、ページのキャプションを読み込み、ダイアログ リソースからページのサイズを決定しようとします。 プロパティ ページで追加のアクションが必要な場合は、この関数をオーバーライドします。オーバーライドは基底クラスの実装を呼び出す必要があります。
COlePropertyPage::SetControlStatus
プロパティ ページ コントロールの状態を変更します。
BOOL SetControlStatus(
UINT nID,
BOOL bDirty);
パラメーター
nID
プロパティ ページ コントロールの ID を格納します。
bDirty
プロパティ ページのフィールドが変更されているかどうかを指定します。 フィールドが変更されている場合は TRUE、変更されていない場合は FALSE に設定します。
戻り値
指定したコントロールが設定されている場合は TRUE。それ以外の場合は FALSE。
解説
プロパティ ページが閉じているか、[適用] ボタンが選択されている場合、プロパティ ページ コントロールの状態がダーティである場合、コントロールのプロパティは適切な値で更新されます。
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 クラス