Share via


COccManager クラス

COleControlContainer オブジェクトと COleControlSite オブジェクトによって実装されるさまざまなカスタム コントロール サイトを管理します。

構文

class COccManager : public CNoTrackObject

メンバー

パブリック メソッド

名前 説明
COccManager::CreateContainer COleContainer オブジェクトを作成します。
COccManager::CreateDlgControls 関連付けられた COleContainer オブジェクトによってホストされる ActiveX コントロールを作成します。
COccManager::CreateSite COleClientSite オブジェクトを作成します。
COccManager::GetDefBtnCode 既定のボタンのコードを取得します。
COccManager::IsDialogMessage ダイアログ メッセージのターゲットを決定します。
COccManager::IsLabelControl 指定したコントロールがラベル コントロールであるかどうかを判断します。
COccManager::IsMatchingMnemonic 現在のニーモニックが、指定したコントロールのニーモニックと一致するかどうかを判断します。
COccManager::OnEvent 指定したイベントの処理を試みます。
COccManager::P ostCreateDialog ダイアログの作成時に割り当てられたリソースを解放します。
COccManager::P reCreateDialog ActiveX コントロールのダイアログ テンプレートを処理します。
COccManager::SetDefaultButton 指定したコントロールの既定の状態を切り替えます。
COccManager::SplitDialogTemplate 指定したダイアログ テンプレートの一般的なコントロールから既存の ActiveX コントロールを分離します。

解説

基底クラスは、 CNoTrackObject文書化されていない基底クラス (AFXTLS にあります。H). MFC フレームワークで使用するように設計されており、クラスから CNoTrackObject 派生したクラスはメモリ リーク検出から除外されます。 から CNoTrackObject直接派生することはお勧めしません。

継承階層

CNoTrackObject

COccManager

必要条件

ヘッダー: afxocc.h

COccManager::CreateContainer

コントロール コンテナーを作成するためにフレームワークによって呼び出されます。

virtual COleControlContainer* CreateContainer(CWnd* pWnd);

パラメーター

pWnd
カスタム サイト コンテナーに関連付けられているウィンドウ オブジェクトへのポインター。

戻り値

新しく作成されたコンテナーへのポインター。それ以外の場合は NULL。

解説

カスタム サイトの作成の詳細については、「COleControlContainer::AttachControlSite」を参照してください

COccManager::CreateDlgControls

この関数を呼び出して、pOccDialogInfo パラメーターで指定された ActiveX コントロールを作成します。

virtual BOOL CreateDlgControls(
    CWnd* pWndParent,
    LPCTSTR lpszResourceName,
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo);

virtual BOOL CreateDlgControls(
    CWnd* pWndParent,
    void* lpResource,
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo);

パラメーター

pWndParent
ダイアログ オブジェクトの親へのポインター。

lpszResourceName
作成するリソースの名前。

pOccDialogInfo
ダイアログ オブジェクトの作成に使用するダイアログ テンプレートへのポインター。

lpResource
リソースへのポインター。

戻り値

コントロールが正常に作成された場合は 0 以外。それ以外の場合は 0。

COccManager::CreateSite

pCtrlCont が指すコンテナーによってホストされるコントロール サイトを作成するためにフレームワークによって呼び出されます。

virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);

パラメーター

pCtrlCont
新しいコントロール サイトをホストしているコントロール コンテナーへのポインター。

戻り値

新しく作成されたコントロール サイトへのポインター。

解説

COleControlSite 派生クラスを使用してカスタム コントロール サイトを作成するには、この関数をオーバーライドします。

各コントロール コンテナーは、複数のサイトをホストできます。 への複数の呼び出しで追加のサイトを作成します CreateSite

COccManager::GetDefBtnCode

コントロールが既定のプッシュ ボタンであるかどうかを判断するには、この関数を呼び出します。

static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);

パラメーター

pWnd
ボタン コントロールを含むウィンドウ オブジェクト。

戻り値

次のいずれかの値:

  • DLGC_DEFPUSHBUTTON コントロールは、ダイアログの既定のボタンです。

  • DLGC_UNDEFPUSHBUTTON コントロールは、ダイアログの既定のボタンではありません。

  • 0 コントロールはボタンではありません。

COccManager::IsDialogMessage

フレームワークによって呼び出され、メッセージが指定されたダイアログ ボックスを対象としているかどうかを判断し、メッセージが処理される場合は処理します。

virtual BOOL IsDialogMessage(
    CWnd* pWndDlg,
    LPMSG lpMsg);

パラメーター

pWndDlg
メッセージの目的のターゲット ダイアログへのポインター。

lpMsg
チェックされるMSGメッセージを含む構造体へのポインター。

戻り値

メッセージが処理される場合は 0 以外。それ以外の場合は 0。

解説

既定のIsDialogMessage動作では、キーボード メッセージをチェックし、対応するダイアログ ボックスの選択に変換します。 たとえば、Tab キーを押すと、次のコントロールまたはコントロールのグループが選択されます。

指定したダイアログに送信されるメッセージのカスタム動作を提供するには、この関数をオーバーライドします。

COccManager::IsLabelControl

指定したコントロールがラベル コントロールかどうかを判断するには、この関数を呼び出します。

static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);

パラメーター

pWnd
コントロールを含むウィンドウへのポインター。

戻り値

コントロールがラベルの場合は 0 以外。それ以外の場合は 0

解説

ラベル コントロールは、並べ替えの次のコントロールのラベルのように機能します。

COccManager::IsMatchingMnemonic

この関数を呼び出して、現在のニーモニックがコントロールによって表されるニーモニックと一致するかどうかを判断します。

static BOOL AFX_CDECL IsMatchingMnemonic(
    CWnd* pWnd,
    LPMSG lpMsg);

static BOOL AFX_CDECL IsMatchingMnemonic(
    COleControlSiteOrWnd* pWnd,
    LPMSG lpMsg);

パラメーター

pWnd
コントロールを含むウィンドウへのポインター。

lpMsg
一致するニーモニックを含むメッセージへのポインター。

戻り値

ニーモニックがコントロールと一致する場合は 0 以外。それ以外の場合は 0

解説

COccManager::OnEvent

指定したイベントを処理するためにフレームワークによって呼び出されます。

virtual BOOL OnEvent(
    CCmdTarget* pCmdTarget,
    UINT idCtrl,
    AFX_EVENT* pEvent,
    AFX_CMDHANDLERINFO* pHandlerInfo);

パラメーター

pCmdTarget
イベントを CCmdTarget 処理しようとしているオブジェクトへのポインター

idCtrl
コントロールのリソース ID。

pEvent
処理されるイベント。

pHandlerInfo
NULL でない場合は、OnEventコマンドをpTargetディスパッチするのではなく、構造体のAFX_CMDHANDLERINFOメンバーとpmfメンバーを入力します。 通常、このパラメーターは NULL にする必要があります。

戻り値

イベントが処理された場合は 0 以外、それ以外の場合は 0。

解説

既定のイベント処理プロセスをカスタマイズするには、この関数をオーバーライドします。

COccManager::P reCreateDialog

実際のダイアログ ボックスを作成する前に、ActiveX コントロールのダイアログ テンプレートを処理するためにフレームワークによって呼び出されます。

virtual const DLGTEMPLATE* PreCreateDialog(
    _AFX_OCC_DIALOG_INFO* pOccDialogInfo,
    const DLGTEMPLATE* pOrigTemplate);

パラメーター

pOccDialogInfo
_AFX_OCC_DIALOG_INFOダイアログ テンプレートと、ダイアログによってホストされる ActiveX コントロールに関する情報を含む構造体。

pOrigTemplate
ダイアログ ボックスの作成に使用するダイアログ テンプレートへのポインター。

戻り値

ダイアログ ボックスの作成に使用されるダイアログ テンプレート構造へのポインター。

解説

既定の動作では、ActiveX コントロールが存在するかどうかを判断する SplitDialogTemplate呼び出しが行われ、結果のダイアログ テンプレートが返されます。

ActiveX コントロールをホストするダイアログ ボックスを作成するプロセスをカスタマイズするには、この関数をオーバーライドします。

COccManager::P ostCreateDialog

ダイアログ テンプレートに割り当てられたメモリを解放するためにフレームワークによって呼び出されます。

virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);

パラメーター

pOccDialogInfo
_AFX_OCC_DIALOG_INFOダイアログ テンプレートと、ダイアログによってホストされる ActiveX コントロールに関する情報を含む構造体。

解説

このメモリは、呼び出し SplitDialogTemplateによって割り当てられ、ダイアログ ボックスでホストされている ActiveX コントロールに使用されました。

ダイアログ ボックス オブジェクトによって使用されるすべてのリソースをクリーンするプロセスをカスタマイズするには、この関数をオーバーライドします。

COccManager::SetDefaultButton

コントロールを既定のボタンとして設定するには、この関数を呼び出します。

static void AFX_CDECL SetDefaultButton(
    CWnd* pWnd,
    BOOL bDefault);

パラメーター

pWnd
コントロールを含むウィンドウへのポインター。

bDefault
コントロールを既定のボタンにする必要がある場合は 0 以外。それ以外の場合は 0。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

Note

コントロールには、OLEMISC_ACTSLIKEBUTTON状態ビットが設定されている必要があります。 OLEMISC フラグの詳細については、Windows SDK の OLEMISC トピックを参照してください。

COccManager::SplitDialogTemplate

一般的なダイアログ コントロールから ActiveX コントロールを分割するためにフレームワークによって呼び出されます。

virtual DLGTEMPLATE* SplitDialogTemplate(
    const DLGTEMPLATE* pTemplate,
    DLGITEMTEMPLATE** ppOleDlgItems);

パラメーター

pTemplate
調べるダイアログ テンプレートへのポインター。

ppOleDlgItems
ActiveX コントロールであるダイアログ ボックス項目へのポインターの一覧。

戻り値

ActiveX 以外のコントロールのみを含むダイアログ テンプレート構造体へのポインター。 ActiveX コントロールが存在しない場合は、NULL が返されます。

解説

ActiveX コントロールが見つかった場合は、テンプレートが分析され、ActiveX 以外のコントロールのみを含む新しいテンプレートが作成されます。 このプロセス中に見つかった ActiveX コントロールは、ppOleDlgItems追加されます。

テンプレートに ActiveX コントロールがない場合は、NULL が返されます

Note

新しいテンプレートに割り当てられたメモリは、関数で PostCreateDialog 解放されます。

このプロセスをカスタマイズするには、この関数をオーバーライドします。

関連項目

階層図
COleControlSite クラス
COleControlContainer クラス