COccManager, classe
Gère divers sites de contrôle personnalisés ; implémentée par les objets COleControlContainer
et COleControlSite
.
Syntaxe
class COccManager : public CNoTrackObject
Membres
Méthodes publiques
Nom | Description |
---|---|
COccManager ::CreateContainer | Crée un objet COleContainer . |
COccManager ::CreateDlgControls | Crée des contrôles ActiveX, hébergés par l’objet associé COleContainer . |
COccManager ::CreateSite | Crée un objet COleClientSite . |
COccManager ::GetDefBtnCode | Récupère le code du bouton par défaut. |
COccManager ::IsDialogMessage | Détermine la cible d’un message de dialogue. |
COccManager ::IsLabelControl | Détermine si le contrôle spécifié est un contrôle d’étiquette. |
COccManager ::IsMatchingMnemonic | Détermine si le mnémonique actuel correspond à l’némonique du contrôle spécifié. |
COccManager ::OnEvent | Tente de gérer l’événement spécifié. |
COccManager ::P ostCreateDialog | Libère les ressources allouées pendant la création de la boîte de dialogue. |
COccManager ::P reCreateDialog | Traite un modèle de dialogue pour les contrôles ActiveX. |
COccManager ::SetDefaultButton | Bascule l’état par défaut du contrôle spécifié. |
COccManager ::SplitDialogTemplate | Sépare tous les contrôles ActiveX existants des contrôles courants dans le modèle de boîte de dialogue spécifié. |
Notes
La classe de base, , CNoTrackObject
est une classe de base non documentée (située dans AFXTLS. H). Conçues pour être utilisées par l’infrastructure MFC, les classes dérivées de la CNoTrackObject
classe sont exemptées de la détection des fuites de mémoire. Il n’est pas recommandé de dériver directement de CNoTrackObject
.
Hiérarchie d'héritage
CNoTrackObject
COccManager
Spécifications
En-tête : afxocc.h
COccManager ::CreateContainer
Appelé par l’infrastructure pour créer un conteneur de contrôle.
virtual COleControlContainer* CreateContainer(CWnd* pWnd);
Paramètres
pWnd
Pointeur vers l’objet de fenêtre associé au conteneur de site personnalisé.
Valeur de retour
Pointeur vers le conteneur nouvellement créé ; sinon NULL.
Notes
Pour plus d’informations sur la création de sites personnalisés, consultez COleControlContainer ::AttachControlSite.
COccManager ::CreateDlgControls
Appelez cette fonction pour créer des contrôles ActiveX spécifiés par le paramètre pOccDialogInfo .
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
LPCTSTR lpszResourceName,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
void* lpResource,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Paramètres
pWndParent
Pointeur vers le parent de l’objet de boîte de dialogue.
lpszResourceName
Nom de la ressource en cours de création.
pOccDialogInfo
Pointeur vers le modèle de dialogue utilisé pour créer l’objet de dialogue.
lpResource
Pointeur vers une ressource.
Valeur de retour
Différent de zéro si le contrôle a été créé avec succès ; sinon zéro.
COccManager ::CreateSite
Appelé par l’infrastructure pour créer un site de contrôle, hébergé par le conteneur pointé par pCtrlCont.
virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);
Paramètres
pCtrlCont
Pointeur vers le conteneur de contrôle hébergeant le nouveau site de contrôle.
Valeur de retour
Pointeur vers le site de contrôle nouvellement créé.
Notes
Remplacez cette fonction pour créer un site de contrôle personnalisé à l’aide de votre classe dérivée de COleControlSite.
Chaque conteneur de contrôle peut héberger plusieurs sites. Créez des sites supplémentaires avec plusieurs appels à CreateSite
.
COccManager ::GetDefBtnCode
Appelez cette fonction pour déterminer si le contrôle est un bouton push par défaut.
static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);
Paramètres
pWnd
Objet de fenêtre contenant le contrôle bouton.
Valeur de retour
Une des valeurs suivantes :
DLGC_DEFPUSHBUTTON Contrôle est le bouton par défaut dans la boîte de dialogue.
DLGC_UNDEFPUSHBUTTON Le contrôle n’est pas le bouton par défaut dans la boîte de dialogue.
0 Le contrôle n’est pas un bouton.
COccManager ::IsDialogMessage
Appelé par l’infrastructure pour déterminer si un message est destiné à la boîte de dialogue spécifiée et, le cas échéant, traite le message.
virtual BOOL IsDialogMessage(
CWnd* pWndDlg,
LPMSG lpMsg);
Paramètres
pWndDlg
Pointeur vers la boîte de dialogue cible prévue du message.
lpMsg
Pointeur vers une MSG
structure qui contient le message à vérifier.
Valeur de retour
Différent de zéro si le message est traité ; sinon zéro.
Notes
Le comportement par défaut consiste IsDialogMessage
à rechercher les messages clavier et à les convertir en sélections pour la boîte de dialogue correspondante. Par exemple, la touche TAB, lorsqu’elle est enfoncée, sélectionne le contrôle ou le groupe de contrôles suivant.
Remplacez cette fonction pour fournir un comportement personnalisé pour les messages envoyés à la boîte de dialogue spécifiée.
COccManager ::IsLabelControl
Appelez cette fonction pour déterminer si le contrôle spécifié est un contrôle d’étiquette.
static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);
Paramètres
pWnd
Pointeur vers la fenêtre contenant le contrôle.
Valeur de retour
Différent de zéro si le contrôle est une étiquette ; sinon zéro
Notes
Un contrôle d’étiquette est un contrôle qui agit comme une étiquette pour tout contrôle suivant dans l’ordre.
COccManager ::IsMatchingMnemonic
Appelez cette fonction pour déterminer si le mnemonique actuel correspond à celui représenté par le contrôle.
static BOOL AFX_CDECL IsMatchingMnemonic(
CWnd* pWnd,
LPMSG lpMsg);
static BOOL AFX_CDECL IsMatchingMnemonic(
COleControlSiteOrWnd* pWnd,
LPMSG lpMsg);
Paramètres
pWnd
Pointeur vers la fenêtre contenant le contrôle.
lpMsg
Pointeur vers le message contenant le mnémonique à mettre en correspondance.
Valeur de retour
Différent de zéro si le mnémonique correspond au contrôle ; sinon zéro
Notes
COccManager ::OnEvent
Appelé par l’infrastructure pour gérer l’événement spécifié.
virtual BOOL OnEvent(
CCmdTarget* pCmdTarget,
UINT idCtrl,
AFX_EVENT* pEvent,
AFX_CMDHANDLERINFO* pHandlerInfo);
Paramètres
pCmdTarget
Pointeur vers l’objet CCmdTarget
qui tente de gérer l’événement
idCtrl
ID de ressource du contrôle.
pEvent
Événement géré.
pHandlerInfo
S’il n’est pas NULL, OnEvent
renseigne les membres et pmf
les pTarget
membres de la AFX_CMDHANDLERINFO
structure au lieu de distribuer la commande. En règle générale, ce paramètre doit être NULL.
Valeur de retour
Différent de zéro si l’événement a été géré, sinon zéro.
Notes
Remplacez cette fonction pour personnaliser le processus de gestion des événements par défaut.
COccManager ::P reCreateDialog
Appelé par l’infrastructure pour traiter un modèle de dialogue pour les contrôles ActiveX avant de créer la boîte de dialogue réelle.
virtual const DLGTEMPLATE* PreCreateDialog(
_AFX_OCC_DIALOG_INFO* pOccDialogInfo,
const DLGTEMPLATE* pOrigTemplate);
Paramètres
pOccDialogInfo
Structure _AFX_OCC_DIALOG_INFO
contenant des informations sur le modèle de dialogue et tous les contrôles ActiveX hébergés par la boîte de dialogue.
pOrigTemplate
Pointeur vers le modèle de boîte de dialogue à utiliser pour créer la boîte de dialogue.
Valeur de retour
Pointeur vers une structure de modèle de dialogue utilisée pour créer la boîte de dialogue.
Notes
Le comportement par défaut appelle SplitDialogTemplate
, déterminant s’il existe des contrôles ActiveX présents, puis retourne le modèle de boîte de dialogue résultant.
Remplacez cette fonction pour personnaliser le processus de création d’une boîte de dialogue hébergeant des contrôles ActiveX.
COccManager ::P ostCreateDialog
Appelé par l’infrastructure pour libérer de la mémoire allouée pour le modèle de boîte de dialogue.
virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Paramètres
pOccDialogInfo
Structure _AFX_OCC_DIALOG_INFO
contenant des informations sur le modèle de dialogue et tous les contrôles ActiveX hébergés par la boîte de dialogue.
Notes
Cette mémoire a été allouée par un appel à SplitDialogTemplate
, et a été utilisée pour tous les contrôles ActiveX hébergés dans la boîte de dialogue.
Remplacez cette fonction pour personnaliser le processus de nettoyage des ressources utilisées par l’objet de boîte de dialogue.
COccManager ::SetDefaultButton
Appelez cette fonction pour définir le contrôle comme bouton par défaut.
static void AFX_CDECL SetDefaultButton(
CWnd* pWnd,
BOOL bDefault);
Paramètres
pWnd
Pointeur vers la fenêtre contenant le contrôle.
bDefault
Différent de zéro si le contrôle doit devenir le bouton par défaut ; sinon zéro.
Valeur de retour
Valeur différente de zéro en cas de réussite ; sinon, zéro.
Notes
Remarque
Le contrôle doit avoir le bit d’état OLEMISC_ACTSLIKEBUTTON défini. Pour plus d’informations sur les indicateurs OLEMISC, consultez la rubrique OLEMISC dans le Kit de développement logiciel (SDK) Windows.
COccManager ::SplitDialogTemplate
Appelé par l’infrastructure pour fractionner les contrôles ActiveX à partir de contrôles de dialogue courants.
virtual DLGTEMPLATE* SplitDialogTemplate(
const DLGTEMPLATE* pTemplate,
DLGITEMTEMPLATE** ppOleDlgItems);
Paramètres
pTemplate
Pointeur vers le modèle de boîte de dialogue à examiner.
ppOleDlgItems
Liste de pointeurs vers les éléments de boîte de dialogue qui sont des contrôles ActiveX.
Valeur de retour
Pointeur vers une structure de modèle de dialogue contenant uniquement des contrôles non-ActiveX. Si aucun contrôle ActiveX n’est présent, NULL est retourné.
Notes
Si des contrôles ActiveX sont trouvés, le modèle est analysé et un nouveau modèle contenant uniquement des contrôles non-ActiveX est créé. Tous les contrôles ActiveX trouvés pendant ce processus sont ajoutés à ppOleDlgItems.
S’il n’existe aucun contrôle ActiveX dans le modèle, NULL est retourné .
Remarque
La mémoire allouée pour le nouveau modèle est libérée dans la PostCreateDialog
fonction.
Remplacez cette fonction pour personnaliser ce processus.
Voir aussi
Graphique hiérarchique
COleControlSite, classe
COleControlContainer, classe