COccManager Class
Manages various custom control sites; implemented by COleControlContainer
and COleControlSite
objects.
Syntax
class COccManager : public CNoTrackObject
Members
Public Methods
Name | Description |
---|---|
COccManager::CreateContainer | Creates a COleContainer object. |
COccManager::CreateDlgControls | Creates ActiveX controls, hosted by the associated COleContainer object. |
COccManager::CreateSite | Creates a COleClientSite object. |
COccManager::GetDefBtnCode | Retrieves the code of the default button. |
COccManager::IsDialogMessage | Determines the target of a dialog message. |
COccManager::IsLabelControl | Determines if the specified control is a label control. |
COccManager::IsMatchingMnemonic | Determines if the current mnemonic matches the mnemonic of the specified control. |
COccManager::OnEvent | Attempts to handle the specified event. |
COccManager::PostCreateDialog | Frees resources allocated during dialog creation. |
COccManager::PreCreateDialog | Processes a dialog template for ActiveX controls. |
COccManager::SetDefaultButton | Toggles the default state of the specified control. |
COccManager::SplitDialogTemplate | Separates any existing ActiveX controls from common controls in the specified dialog template. |
Remarks
The base class, CNoTrackObject
, is an undocumented base class (located in AFXTLS.H). Designed for use by the MFC framework, classes derived from the CNoTrackObject
class are exempt from memory leak detection. It is not recommended that you derive directly from CNoTrackObject
.
Inheritance Hierarchy
CNoTrackObject
COccManager
Requirements
Header: afxocc.h
COccManager::CreateContainer
Called by the framework to create a control container.
virtual COleControlContainer* CreateContainer(CWnd* pWnd);
Parameters
pWnd
A pointer to the window object associated with the custom site container.
Return Value
A pointer to the newly created container; otherwise NULL.
Remarks
For more information on creating custom sites, see COleControlContainer::AttachControlSite.
COccManager::CreateDlgControls
Call this function to create ActiveX controls specified by the pOccDialogInfo parameter.
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
LPCTSTR lpszResourceName,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
void* lpResource,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parameters
pWndParent
A pointer to the parent of the dialog object.
lpszResourceName
The name of the resource being created.
pOccDialogInfo
A pointer to the dialog template used to create the dialog object.
lpResource
A pointer to a resource.
Return Value
Nonzero if the control was created successfully; otherwise zero.
COccManager::CreateSite
Called by the framework to create a control site, hosted by the container pointed to by pCtrlCont.
virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);
Parameters
pCtrlCont
A pointer to the control container hosting the new control site.
Return Value
A pointer to the newly created control site.
Remarks
Override this function to create a custom control site, using your COleControlSite-derived class.
Each control container can host multiple sites. Create additional sites with multiple calls to CreateSite
.
COccManager::GetDefBtnCode
Call this function to determine if the control is a default push button.
static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);
Parameters
pWnd
The window object containing the button control.
Return Value
One of the following values:
DLGC_DEFPUSHBUTTON Control is the default button in the dialog.
DLGC_UNDEFPUSHBUTTON Control is not the default button in the dialog.
0 Control is not a button.
COccManager::IsDialogMessage
Called by the framework to determine whether a message is intended for the specified dialog box and, if it is, processes the message.
virtual BOOL IsDialogMessage(
CWnd* pWndDlg,
LPMSG lpMsg);
Parameters
pWndDlg
A pointer to the intended target dialog of the message.
lpMsg
A pointer to an MSG
structure that contains the message to be checked.
Return Value
Nonzero if the message is processed; otherwise zero.
Remarks
The default behavior of IsDialogMessage
is to check for keyboard messages and convert them into selections for the corresponding dialog box. For example, the TAB key, when pressed, selects the next control or group of controls.
Override this function to provide custom behavior for messages sent to the specified dialog.
COccManager::IsLabelControl
Call this function to determine if the specified control is a label control.
static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);
Parameters
pWnd
A pointer to the window containing the control.
Return Value
Nonzero if the control is a label; otherwise zero
Remarks
A label control is one that acts like a label for whatever control is next in the ordering.
COccManager::IsMatchingMnemonic
Call this function to determine if the current mnemonic matches that represented by the control.
static BOOL AFX_CDECL IsMatchingMnemonic(
CWnd* pWnd,
LPMSG lpMsg);
static BOOL AFX_CDECL IsMatchingMnemonic(
COleControlSiteOrWnd* pWnd,
LPMSG lpMsg);
Parameters
pWnd
A pointer to the window containing the control.
lpMsg
A pointer to the message containing the mnemonic to match.
Return Value
Nonzero if the mnemonic matches the control; otherwise zero
Remarks
COccManager::OnEvent
Called by the framework to handle the specified event.
virtual BOOL OnEvent(
CCmdTarget* pCmdTarget,
UINT idCtrl,
AFX_EVENT* pEvent,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parameters
pCmdTarget
A pointer to the CCmdTarget
object attempting to handle the event
idCtrl
The resource ID of the control.
pEvent
The event being handled.
pHandlerInfo
If not NULL, OnEvent
fills in the pTarget
and pmf
members of the AFX_CMDHANDLERINFO
structure instead of dispatching the command. Typically, this parameter should be NULL.
Return Value
Nonzero if the event was handled, otherwise zero.
Remarks
Override this function to customize the default event-handling process.
COccManager::PreCreateDialog
Called by the framework to process a dialog template for ActiveX controls before creating the actual dialog box.
virtual const DLGTEMPLATE* PreCreateDialog(
_AFX_OCC_DIALOG_INFO* pOccDialogInfo,
const DLGTEMPLATE* pOrigTemplate);
Parameters
pOccDialogInfo
An _AFX_OCC_DIALOG_INFO
structure containing information on the dialog template and any ActiveX controls hosted by the dialog.
pOrigTemplate
A pointer to the dialog template to be used in creating the dialog box.
Return Value
A pointer to a dialog template structure used to create the dialog box.
Remarks
The default behavior makes a call to SplitDialogTemplate
, determining if there are any ActiveX controls present and then returns the resultant dialog template.
Override this function to customize the process of creating a dialog box hosting ActiveX controls.
COccManager::PostCreateDialog
Called by the framework to free memory allocated for the dialog template.
virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parameters
pOccDialogInfo
An _AFX_OCC_DIALOG_INFO
structure containing information on the dialog template and any ActiveX controls hosted by the dialog.
Remarks
This memory was allocated by a call to SplitDialogTemplate
, and was used for any hosted ActiveX controls in the dialog box.
Override this function to customize the process of cleaning up any resources used by the dialog box object.
COccManager::SetDefaultButton
Call this function to set the control as the default button.
static void AFX_CDECL SetDefaultButton(
CWnd* pWnd,
BOOL bDefault);
Parameters
pWnd
A pointer to the window containing the control.
bDefault
Nonzero if the control should become the default button; otherwise zero.
Return Value
Nonzero if successful; otherwise zero.
Remarks
Note
The control must have the OLEMISC_ACTSLIKEBUTTON status bit set. For more information on OLEMISC flags, see the OLEMISC topic in the Windows SDK.
COccManager::SplitDialogTemplate
Called by the framework to split the ActiveX controls from common dialog controls.
virtual DLGTEMPLATE* SplitDialogTemplate(
const DLGTEMPLATE* pTemplate,
DLGITEMTEMPLATE** ppOleDlgItems);
Parameters
pTemplate
A pointer to the dialog template to be examined.
ppOleDlgItems
A list of pointers to dialog box items that are ActiveX controls.
Return Value
A pointer to a dialog template structure containing only non-ActiveX controls. If no ActiveX controls are present, NULL is returned.
Remarks
If any ActiveX controls are found, the template is analyzed and a new template, containing only non-ActiveX controls, is created. Any ActiveX controls found during this process are added to ppOleDlgItems.
If there are no ActiveX controls in the template, NULL is returned .
Note
Memory allocated for the new template is freed in the PostCreateDialog
function.
Override this function to customize this process.
See also
Hierarchy Chart
COleControlSite Class
COleControlContainer Class