Share via


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, , CNoTrackObjectest 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

L’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 à case activée.

Valeur de retour

Différent de zéro si le message est traité ; sinon zéro.

Notes

Le comportement par défaut est de IsDialogMessage case activée pour les messages clavier et de 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 propre ing de toutes les 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