Share via


COleControlSite, classe

Prend en charge les interfaces de contrôle côté client personnalisées.

Syntaxe

class COleControlSite : public CCmdTarget

Membres

Constructeurs publics

Nom Description
COleControlSite ::COleControlSite Construit un objet COleControlSite.

Méthodes publiques

Nom Description
COleControlSite ::BindDefaultProperty Lie la propriété par défaut du contrôle hébergé à une source de données.
COleControlSite ::BindProperty Lie une propriété du contrôle hébergé à une source de données.
COleControlSite ::CreateControl Crée un contrôle ActiveX hébergé.
COleControlSite ::D estroyControl Détruit le contrôle hébergé.
COleControlSite ::D oVerb Exécute un verbe spécifique du contrôle hébergé.
COleControlSite ::EnableDSC Active l’approvisionnement des données pour un site de contrôle.
COleControlSite ::EnableWindow Active le site de contrôle.
COleControlSite ::FreezeEvents Spécifie si le site de contrôle accepte des événements.
COleControlSite ::GetDefBtnCode Récupère le code de bouton par défaut pour le contrôle hébergé.
COleControlSite ::GetDlgCtrlID Récupère l’identificateur du contrôle.
COleControlSite ::GetEventIID Récupère l’ID d’une interface d’événement pour un contrôle hébergé.
COleControlSite ::GetExStyle Récupère les styles étendus du site de contrôle.
COleControlSite ::GetProperty Récupère une propriété spécifique du contrôle hébergé.
COleControlSite ::GetStyle Récupère les styles du site de contrôle.
COleControlSite ::GetWindowText Récupère le texte du contrôle hébergé.
COleControlSite ::InvokeHelper Appelez une méthode spécifique du contrôle hébergé.
COleControlSite ::InvokeHelperV Appelez une méthode spécifique du contrôle hébergé avec une liste variable d’arguments.
COleControlSite ::IsDefaultButton Détermine si le contrôle est le bouton par défaut dans la fenêtre.
COleControlSite ::IsWindowEnabled Vérifie l’état visible du site de contrôle.
COleControlSite ::ModifyStyle Modifie les styles étendus actuels du site de contrôle.
COleControlSite ::ModifyStyleEx Modifie les styles actuels du site de contrôle.
COleControlSite ::MoveWindow Modifie la position du site de contrôle.
COleControlSite ::QuickActivate Active rapidement le contrôle hébergé.
COleControlSite ::Coffre SetProperty Définit une propriété ou une méthode du contrôle sans risque de lever une exception.
COleControlSite ::SetDefaultButton Définit le bouton par défaut dans la fenêtre.
COleControlSite ::SetDlgCtrlID Récupère l’identificateur du contrôle.
COleControlSite ::SetFocus Définit le focus sur le site de contrôle.
COleControlSite ::SetProperty Définit une propriété spécifique du contrôle hébergé.
COleControlSite ::SetPropertyV Définit une propriété spécifique du contrôle hébergé avec une liste variable d’arguments.
COleControlSite ::SetWindowPos Définit la position du site de contrôle.
COleControlSite ::SetWindowText Définit le texte du contrôle hébergé.
COleControlSite ::ShowWindow Affiche ou masque le site de contrôle.

Méthodes protégées

Nom Description
COleControlSite ::GetControlInfo Récupère les informations du clavier et les mnémoniques pour le contrôle hébergé.

Membres de données publics

Nom Description
COleControlSite ::m_bIsWindowless Détermine si le contrôle hébergé est un contrôle sans fenêtre.
COleControlSite ::m_ctlInfo Contient des informations sur la gestion du clavier pour le contrôle.
COleControlSite ::m_dwEventSink Cookie du point de connexion du contrôle.
COleControlSite ::m_dwMiscStatus États divers pour le contrôle hébergé.
COleControlSite ::m_dwPropNotifySink Cookie IPropertyNotifySink du contrôle.
COleControlSite ::m_dwStyle Styles du contrôle hébergé.
COleControlSite ::m_hWnd Handle du site de contrôle.
COleControlSite ::m_iidEvents ID de l’interface d’événement pour le contrôle hébergé.
COleControlSite ::m_nID ID du contrôle hébergé.
COleControlSite ::m_pActiveObject Pointeur vers l’objet IOleInPlaceActiveObject du contrôle hébergé.
COleControlSite ::m_pCtrlCont Conteneur du contrôle hébergé.
COleControlSite ::m_pInPlaceObject Pointeur vers l’objet IOleInPlaceObject du contrôle hébergé.
COleControlSite ::m_pObject Pointeur vers l’interface IOleObjectInterface du contrôle.
COleControlSite ::m_pWindowlessObject Pointeur vers l’interface IOleInPlaceObjectWindowless du contrôle.
COleControlSite ::m_pWndCtrl Pointeur vers l’objet fenêtre du contrôle hébergé.
COleControlSite ::m_rect Dimensions du site de contrôle.

Notes

Cette prise en charge est le moyen principal par lequel un contrôle ActiveX incorporé obtient des informations sur l’emplacement et l’étendue de son site d’affichage, son moniker, son interface utilisateur, ses propriétés ambiantes et d’autres ressources fournies par son conteneur. COleControlSiteimplémente entièrement les interfaces IOleControlSite, IOleInPlaceSite, IOleClientSite, IPropertyNotifySink, IBoundObjectSiteINotifyDBEvents, IRowSetNotify. De plus, l’interface IDispatch (prise en charge des propriétés ambiantes et des récepteurs d’événements) est également implémentée.

Pour créer un site de contrôle ActiveX à l’aide COleControlSitede , dérivez une classe de COleControlSite. Dans votre CWndclasse dérivée pour le conteneur (par exemple, votre boîte de dialogue) remplacez la CWnd::CreateControlSite fonction.

Hiérarchie d'héritage

CObject

CCmdTarget

COleControlSite

Spécifications

En-tête : afxocc.h

COleControlSite ::BindDefaultProperty

Lie la propriété liée simple par défaut de l’objet appelant, comme marqué dans la bibliothèque de types, au curseur sous-jacent défini par les propriétés DataSource, UserName, Password et SQL du contrôle de source de données.

virtual void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Paramètres

dwDispID
Spécifie le DISPID d’une propriété sur un contrôle lié aux données qui doit être lié à un contrôle de source de données.

vtProp
Spécifie le type de la propriété à lier( par exemple, VT_BSTR, VT_VARIANT, et ainsi de suite.

szFieldName
Spécifie le nom de la colonne, dans le curseur fourni par le contrôle de source de données, auquel la propriété sera liée.

pDSCWnd
Pointeur vers l’objet CWnddérivé qui héberge le contrôle de source de données auquel la propriété sera liée.

Notes

L’objet CWnd sur lequel vous appelez cette fonction doit être un contrôle lié aux données.

COleControlSite ::BindProperty

Lie la propriété liée simple de l’objet appelant, telle qu’elle est marquée dans la bibliothèque de types, au curseur sous-jacent défini par les propriétés DataSource, UserName, Password et SQL du contrôle de source de données.

virtual void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Paramètres

dwDispId
Spécifie le DISPID d’une propriété sur un contrôle lié aux données qui doit être lié à un contrôle de source de données.

pWndDSC
Pointeur vers l’objet CWnddérivé qui héberge le contrôle de source de données auquel la propriété sera liée.

Notes

L’objet CWnd sur lequel vous appelez cette fonction doit être un contrôle lié aux données.

COleControlSite ::COleControlSite

Construit un nouvel objet COleControlSite.

explicit COleControlSite(COleControlContainer* pCtrlCont);

Paramètres

pCtrlCont
Pointeur vers le conteneur du contrôle (qui représente la fenêtre qui héberge le contrôle AtiveX).

Notes

Cette fonction est appelée par la fonction COccManager ::CreateContainer . Pour plus d’informations sur la personnalisation de la création de conteneurs, consultez COccManager ::CreateSite.

COleControlSite ::CreateControl

Crée un contrôle ActiveX hébergé par l’objet COleControlSite .

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Paramètres

pWndCtrl
Pointeur vers l’objet fenêtre représentant le contrôle.

Clsid
ID de classe unique du contrôle.

lpszWindowName
Pointeur vers le texte à afficher dans le contrôle. Définit la valeur de la propriété Caption ou Text de winodw (le cas échéant).

dwStyle
Styles Windows. Les styles disponibles sont répertoriés sous la section Remarques .

Rect
Spécifie la taille et la position du contrôle. Il peut s’agir d’un objet ou d’une CRectRECT structure.

nID
Spécifie l’ID de la fenêtre enfant du contrôle.

pPersist
Pointeur vers un CFile état persistant contenant le contrôle. La valeur par défaut est NULL, ce qui indique que le contrôle s’initialise sans restaurer son état à partir d’un stockage persistant. S’il n’est pas NULL, il doit s’agir d’un pointeur vers un CFileobjet dérivé qui contient les données persistantes du contrôle, sous la forme d’un flux ou d’un stockage. Ces données ont pu être enregistrées dans une activation précédente du client. Il CFile peut contenir d’autres données, mais doit avoir son pointeur en lecture-écriture défini sur le premier octet des données persistantes au moment de l’appel à CreateControl.

b Stockage
Indique si les données dans pPersist doivent être interprétées comme ou IStream comme IStorage des données. Si les données dans pPersist sont un stockage, b Stockage doit être TRUE. Si les données de pPersist sont un flux, b Stockage doit être FALSE. La valeur par défaut est FALSE.

bstrLicKey
Données de clé de licence facultatives. Ces données sont nécessaires uniquement pour créer des contrôles qui nécessitent une clé de licence au moment de l’exécution. Si le contrôle prend en charge les licences, vous devez fournir une clé de licence pour que le contrôle réussisse. La valeur par défaut est NULL.

Ppt
Pointeur vers une POINT structure qui contient l’angle supérieur gauche du contrôle. La taille du contrôle est déterminée par la valeur de psize. Les valeurs ppt et psize sont une méthode facultative de spécification de la taille et de la position du contrôle.

Psize
Pointeur vers une SIZE structure qui contient la taille du contrôle. Le coin supérieur gauche est déterminé par la valeur de ppt. Les valeurs ppt et psize sont une méthode facultative de spécification de la taille et de la position du contrôle.

Valeur de retour

Valeur HRESULT standard.

Notes

Seuls un sous-ensemble des indicateurs Windows dwStyle sont pris en charge par CreateControl:

  • WS_VISIBLE Crée une fenêtre qui est initialement visible. Obligatoire si vous souhaitez que le contrôle soit visible immédiatement, comme les fenêtres ordinaires.

  • WS_DISABLED Crée une fenêtre initialement désactivée. Une fenêtre désactivée ne peut pas recevoir d’entrée de l’utilisateur. Peut être défini si le contrôle a une propriété Enabled.

  • WS_BORDER Crée une fenêtre avec une bordure de ligne mince. Peut être défini si le contrôle a une propriété BorderStyle.

  • WS_GROUP Spécifie le premier contrôle d’un groupe de contrôles. L’utilisateur peut changer le focus clavier d’un contrôle du groupe à l’autre en utilisant les touches de direction. Tous les contrôles définis avec le style WS_GROUP après le premier contrôle appartiennent au même groupe. Le contrôle suivant avec le style WS_GROUP met fin au groupe et démarre le groupe suivant.

  • WS_TABSTOP Spécifie un contrôle qui peut recevoir le focus clavier lorsque l’utilisateur appuie sur la touche TAB. Appuyez sur tabulation pour modifier le focus clavier sur le contrôle suivant du style WS_TABSTOP.

Utilisez la deuxième surcharge pour créer des contrôles de taille par défaut.

COleControlSite ::D estroyControl

Détruit l’objet COleControlSite .

virtual BOOL DestroyControl();

Valeur de retour

Différent de zéro s’il réussit, sinon 0.

Notes

Une fois terminé, l’objet est libéré de la mémoire et tous les pointeurs vers l’objet ne sont plus valides.

COleControlSite ::D oVerb

Exécute le verbe spécifié.

virtual HRESULT DoVerb(
    LONG nVerb,
    LPMSG lpMsg = NULL);

Paramètres

nVerb
Spécifie le verbe à exécuter. Il peut inclure l’une des options suivantes :

Valeur Signification Symbole
0 Primary (verbe) OLEIVERB_PRIMARY
-1 Verbe secondaire (aucune)
1 Affiche l’objet à modifier. OLEIVERB_SHOW
-2 Modifie l’élément dans une fenêtre distincte. OLEIVERB_OPEN
-3 Masque l’objet. OLEIVERB_HIDE
-4 Active un contrôle sur place. OLEIVERB_UIACTIVATE
-5 Active un contrôle sur place, sans éléments d’interface utilisateur supplémentaires. OLEIVERB_INPLACEACTIVATE
7- Affichez les propriétés du contrôle. OLEIVERB_PROPERTIES

lpMsg
Pointeur vers le message qui a provoqué l’activation de l’élément.

Valeur de retour

Valeur HRESULT standard.

Notes

Cette fonction appelle directement via l’interface du IOleObject contrôle pour exécuter le verbe spécifié. Si une exception est levée suite à cet appel de fonction, un code d’erreur HRESULT est retourné.

Pour plus d’informations, consultez IOleObject ::D oVerb dans le Kit de développement logiciel (SDK) Windows.

COleControlSite ::EnableDSC

Active l’approvisionnement des données pour le site de contrôle.

virtual void EnableDSC();

Notes

Appelé par l’infrastructure pour activer et initialiser l’approvisionnement des données pour le site de contrôle. Remplacez cette fonction pour fournir un comportement personnalisé.

COleControlSite ::EnableWindow

Active ou désactive l’entrée de la souris et du clavier sur le site de contrôle.

virtual BOOL EnableWindow(BOOL bEnable);

Paramètres

bEnable
Spécifie s’il faut activer ou désactiver la fenêtre : TRUE si l’entrée de fenêtre doit être activée, sinon FALSE.

Valeur de retour

Différent de zéro si la fenêtre a été précédemment désactivée, sinon 0.

COleControlSite ::FreezeEvents

Spécifie si le site de contrôle gère ou ignore les événements déclenchés à partir d’un contrôle.

void FreezeEvents(BOOL bFreeze);

Paramètres

bFreeze
Spécifie si le site de contrôle souhaite cesser d'accepter des événements. Différent de zéro si le contrôle n’accepte pas d’événements ; sinon zéro.

Notes

Si bFreeze a la valeur TRUE, le site de contrôle demande au contrôle d’arrêter de déclencher des événements. Si bFreeze a la valeur FALSE, le site de contrôle demande au contrôle de continuer à déclencher des événements.

Remarque

Le contrôle n’est pas nécessaire pour arrêter le déclenchement d’événements si demandé par le site de contrôle. Il peut continuer à déclencher, mais tous les événements suivants seront ignorés par le site de contrôle.

COleControlSite ::GetControlInfo

Récupère des informations sur le comportement du clavier et du clavier d’un contrôle.

void GetControlInfo();

Notes

Les informations sont stockées dans COleControlSite ::m_ctlInfo.

COleControlSite ::GetDefBtnCode

Détermine si le contrôle est un bouton push par défaut.

DWORD GetDefBtnCode();

Valeur de retour

Peut avoir 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.

COleControlSite ::GetDlgCtrlID

Récupère l’identificateur du contrôle.

virtual int GetDlgCtrlID() const;

Valeur de retour

Identificateur de l’élément de boîte de dialogue du contrôle.

COleControlSite ::GetEventIID

Récupère un pointeur vers l’interface d’événement par défaut du contrôle.

BOOL GetEventIID(IID* piid);

Paramètres

piid
Pointeur vers un ID d’interface.

Valeur de retour

Différent de zéro s’il réussit, sinon 0. Si elle réussit, piid contient l’ID d’interface de l’interface d’événement par défaut du contrôle.

COleControlSite ::GetExStyle

Récupère les styles étendus de la fenêtre.

virtual DWORD GetExStyle() const;

Valeur de retour

Styles étendus de la fenêtre de contrôle.

Notes

Pour récupérer les styles standard, appelez COleControlSite ::GetStyle.

COleControlSite ::GetProperty

Obtient la propriété de contrôle spécifiée par dwDispID.

virtual void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp) const;

Paramètres

dwDispID
Identifie l’ID de répartition de la propriété, trouvé sur l’interface par défaut IDispatch du contrôle, à récupérer.

vtProp
Spécifie le type de la propriété à récupérer. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

pvProp
Adresse de la variable qui recevra la valeur de propriété. Il doit correspondre au type spécifié par vtProp.

Notes

La valeur est retournée via pvProp.

COleControlSite ::GetStyle

Récupère les styles du site de contrôle.

virtual DWORD GetStyle() const;

Valeur de retour

Styles de la fenêtre.

Notes

Pour obtenir la liste des valeurs possibles, consultez Styles Windows. Pour récupérer les styles étendus du site de contrôle, appelez COleControlSite ::GetExStyle.

COleControlSite ::GetWindowText

Récupère le texte actuel du contrôle.

virtual void GetWindowText(CString& str) const;

Paramètres

str
Référence à un CString objet qui contient le texte actuel du contrôle.

Notes

Si le contrôle prend en charge la propriété stock caption, cette valeur est retournée. Si la propriété de titre n’est pas prise en charge, la valeur de la propriété Text est retournée.

COleControlSite ::InvokeHelper

Appelle la méthode ou la propriété spécifiée par dwDispID, dans le contexte spécifié par wFlags.

virtual void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo, ...);

Paramètres

dwDispID
Identifie l’ID de répartition de la propriété ou de la méthode, trouvé sur l’interface du IDispatch contrôle, à appeler.

wFlags
Indicateurs décrivant le contexte de l’appel à IDispatch::Invoke. Pour connaître les valeurs wFlags possibles, consultez IDispatch::Invoke le Kit de développement logiciel (SDK) Windows.

vtRet
Spécifie le type de la valeur de retour. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

pvRet
Adresse de la variable qui recevra la valeur de propriété ou la valeur de retour. Il doit correspondre au type spécifié par vtRet.

pbParamInfo
Pointeur vers une chaîne d’octets terminée par null spécifiant les types des paramètres suivants pbParamInfo. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

...
Liste de variables de paramètres, des types spécifiés dans pbParamInfo.

Notes

Le paramètre pbParamInfo spécifie les types des paramètres passés à la méthode ou à la propriété. La liste variable d’arguments est représentée par ... dans la déclaration de syntaxe.

Cette fonction convertit les paramètres en valeurs VARIANTARG, puis appelle la IDispatch::Invoke méthode sur le contrôle. Si l’appel à IDispatch::Invoke échoue, cette fonction lève une exception. Si le code d’état retourné par IDispatch::Invoke est DISP_E_EXCEPTION, cette fonction lève un COleDispatchException objet, sinon elle lève un COleException.

COleControlSite ::InvokeHelperV

Appelle la méthode ou la propriété spécifiée par dwDispID, dans le contexte spécifié par wFlags.

virtual void InvokeHelperV(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    va_list argList);

Paramètres

dwDispID
Identifie l’ID de répartition de la propriété ou de la méthode, trouvé sur l’interface du IDispatch contrôle, à appeler.

wFlags
Indicateurs décrivant le contexte de l’appel à IDispatch::Invoke.

vtRet
Spécifie le type de la valeur de retour. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

pvRet
Adresse de la variable qui recevra la valeur de propriété ou la valeur de retour. Il doit correspondre au type spécifié par vtRet.

pbParamInfo
Pointeur vers une chaîne d’octets terminée par null spécifiant les types des paramètres suivants pbParamInfo. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

Arglist
Pointeur vers une liste d’arguments de variable.

Notes

Le paramètre pbParamInfo spécifie les types des paramètres passés à la méthode ou à la propriété. Des paramètres supplémentaires pour la méthode ou la propriété appelée peuvent être passés à l’aide du paramètre va_list .

En règle générale, cette fonction est appelée par COleControlSite::InvokeHelper.

COleControlSite ::IsDefaultButton

Détermine si le contrôle est le bouton par défaut.

BOOL IsDefaultButton();

Valeur de retour

Différent de zéro si le contrôle est le bouton par défaut de la fenêtre, sinon zéro.

COleControlSite ::IsWindowEnabled

Détermine si le site de contrôle est activé.

virtual BOOL IsWindowEnabled() const;

Valeur de retour

Différent de zéro si le contrôle est activé, sinon zéro.

Notes

La valeur est récupérée à partir de la propriété stock Enabled du contrôle.

COleControlSite ::m_bIsWindowless

Détermine si l’objet est un contrôle sans fenêtre.

BOOL m_bIsWindowless;

Notes

Différent de zéro si le contrôle n’a pas de fenêtre, sinon zéro.

COleControlSite ::m_ctlInfo

Informations sur la façon dont l’entrée du clavier est gérée par le contrôle.

CONTROLINFO m_ctlInfo;

Notes

Ces informations sont stockées dans une structure CONTROLINFO .

COleControlSite ::m_dwEventSink

Contient le cookie du point de connexion à partir du récepteur d’événements du contrôle.

DWORD m_dwEventSink;

COleControlSite ::m_dwMiscStatus

Contient des informations diverses sur le contrôle.

DWORD m_dwMiscStatus;

Notes

Pour plus d’informations, consultez OLEMISCdans le Kit de développement logiciel (SDK) Windows.

COleControlSite ::m_dwPropNotifySink

Contient le cookie IPropertyNotifySink .

DWORD m_dwPropNotifySink;

COleControlSite ::m_dwStyle

Contient les styles de fenêtre du contrôle.

DWORD m_dwStyle;

COleControlSite ::m_hWnd

Contient le HWND du contrôle, ou NULL si le contrôle est sans fenêtre.

HWND m_hWnd;

COleControlSite ::m_iidEvents

Contient l’ID d’interface de l’interface récepteur d’événements par défaut du contrôle.

IID m_iidEvents;

COleControlSite ::m_nID

Contient l’ID d’élément de boîte de dialogue du contrôle.

UINT m_nID;

COleControlSite ::m_pActiveObject

Contient l’interface IOleInPlaceActiveObject du contrôle.

LPOLEINPLACEACTIVEOBJECT m_pActiveObject;

COleControlSite ::m_pCtrlCont

Contient le conteneur du contrôle (représentant le formulaire).

COleControlContainer* m_pCtrlCont;

COleControlSite ::m_pInPlaceObject

Contient l’interface IOleInPlaceObjectIOleInPlaceObject du contrôle.

LPOLEINPLACEOBJECT m_pInPlaceObject;

COleControlSite ::m_pObject

Contient l’interface IOleObjectInterface du contrôle.

LPOLEOBJECT m_pObject;

COleControlSite ::m_pWindowlessObject

Contient l’interface IOleInPlaceObjectWindowlessIOleInPlaceObjectWindowless du contrôle.

IOleInPlaceObjectWindowless* m_pWindowlessObject;

COleControlSite ::m_pWndCtrl

Contient un pointeur vers l’objet CWnd qui représente le contrôle lui-même.

CWnd* m_pWndCtrl;

COleControlSite ::m_rect

Contient les limites du contrôle, par rapport à la fenêtre du conteneur.

CRect m_rect;

COleControlSite ::ModifyStyle

Modifie les styles du contrôle.

virtual BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Paramètres

dwRemove
Styles à supprimer des styles de fenêtre actuels.

dwAdd
Styles à ajouter à partir des styles de fenêtre actuels.

nFlags
Indicateurs de positionnement de fenêtre. Pour obtenir la liste des valeurs possibles, consultez la fonction SetWindowPos dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Différent de zéro si les styles sont modifiés, sinon zéro.

Notes

La propriété active du contrôle sera modifiée pour correspondre au paramètre de WS_DISABLED. La propriété de style de bordure de bordure du contrôle sera modifiée pour correspondre au paramètre demandé pour WS_BORDER. Tous les autres styles sont appliqués directement au handle de fenêtre du contrôle, s’ils sont présents.

Modifie les styles de fenêtre du contrôle. Les styles à ajouter ou à supprimer peuvent être combinés à l’aide de l’opérateur OR (|) au niveau du bit. Pour plus d’informations sur les styles de fenêtre disponibles, consultez la fonction CreateWindow dans le Kit de développement logiciel (SDK) Windows.

Si nFlags est différent de zéro, ModifyStyle appelle la fonction SetWindowPosWin32 et redessine la fenêtre en combinant nFlags avec les quatre indicateurs suivants :

  • SWP_NOSIZE conserve la taille actuelle.

  • SWP_NOMOVE conserve la position actuelle.

  • SWP_NOZORDER conserve l’ordre Z actuel.

  • SWP_NOACTIVATE n’active pas la fenêtre.

Pour modifier les styles étendus d’une fenêtre, appelez ModifyStyleEx.

COleControlSite ::ModifyStyleEx

Modifie les styles étendus du contrôle.

virtual BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Paramètres

dwRemove
Styles étendus à supprimer des styles de fenêtre actuels.

dwAdd
Styles étendus à ajouter à partir des styles de fenêtre actuels.

nFlags
Indicateurs de positionnement de fenêtre. Pour obtenir la liste des valeurs possibles, consultez la fonction SetWindowPos dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Différent de zéro si les styles sont modifiés, sinon zéro.

Notes

La propriété d’apparence du contrôle sera modifiée pour correspondre au paramètre de WS_EX_CLIENTEDGE. Tous les autres styles de fenêtre étendus sont appliqués directement au handle de fenêtre du contrôle, s’ils sont présents.

Modifie les styles étendus de la fenêtre de l’objet de site de contrôle. Les styles à ajouter ou à supprimer peuvent être combinés à l’aide de l’opérateur OR (|) au niveau du bit. Pour plus d’informations sur les styles de fenêtre disponibles, consultez la fonction CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.

Si nFlags est différent de zéro, ModifyStyleEx appelle la fonction SetWindowPosWin32 et redessine la fenêtre en combinant nFlags avec les quatre indicateurs suivants :

  • SWP_NOSIZE conserve la taille actuelle.

  • SWP_NOMOVE conserve la position actuelle.

  • SWP_NOZORDER conserve l’ordre Z actuel.

  • SWP_NOACTIVATE n’active pas la fenêtre.

Pour modifier les styles étendus d’une fenêtre, appelez ModifyStyle.

COleControlSite ::MoveWindow

Modifie la position du contrôle.

virtual void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight);

Paramètres

x
Nouvelle position du côté gauche de la fenêtre.

y
Nouvelle position du haut de la fenêtre.

nWidth
Nouvelle largeur de la fenêtre

nHeight
Nouvelle hauteur de la fenêtre.

COleControlSite ::QuickActivate

Active rapidement le contrôle contenu.

virtual BOOL QuickActivate();

Valeur de retour

Différent de zéro si le site de contrôle a été activé, sinon zéro.

Notes

Cette fonction doit être appelée uniquement si l’utilisateur substitue le processus de création du contrôle.

Les IPersist*::Load méthodes et IPersist*::InitNew les méthodes doivent être appelées après l’activation rapide. Le contrôle doit établir ses connexions aux récepteurs du conteneur lors de l’activation rapide. Toutefois, ces connexions ne sont pas actives tant qu’elles n’ont IPersist*::Load pas été appelées.IPersist*::InitNew

COleControlSite ::Coffre SetProperty

Définit la propriété de contrôle spécifiée par dwDispID.

virtual BOOL AFX_CDECL SafeSetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Paramètres

dwDispID
Identifie l’ID de répartition de la propriété ou de la méthode, trouvé sur l’interface du IDispatch contrôle, à définir.

vtProp
Spécifie le type de propriété à définir. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

...
Paramètre unique du type spécifié par vtProp.

Valeur de retour

Valeur différente de zéro en cas de réussite ; sinon, zéro.

Notes

Remarque

Contrairement SetProperty à et SetPropertyV, si une erreur est rencontrée (par exemple, la tentative de définition d’une propriété inexistante), aucune exception n’est levée.

COleControlSite ::SetDefaultButton

Définit le contrôle comme bouton par défaut.

void SetDefaultButton(BOOL bDefault);

Paramètres

bDefault
Différent de zéro si le contrôle doit devenir le bouton par défaut ; sinon zéro.

Notes

Remarque

Le contrôle doit avoir le bit d’état OLEMISC_ACTSLIKEBUTTON défini.

COleControlSite ::SetDlgCtrlID

Modifie la valeur de l’identificateur d’élément de boîte de dialogue du contrôle.

virtual int SetDlgCtrlID(int nID);

Paramètres

nID
Nouvelle valeur d’identificateur.

Valeur de retour

Si elle réussit, l’identificateur de l’élément de boîte de dialogue précédent de la fenêtre ; sinon 0.

Notes

COleControlSite ::SetFocus

Définit le focus sur le contrôle.

virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);

Paramètres

lpmsg
Pointeur vers une structure MSG. Cette structure contient le message Windows qui déclenche la SetFocus demande du contrôle contenu dans le site de contrôle actuel.

Valeur de retour

Pointeur vers la fenêtre qui avait précédemment le focus.

COleControlSite ::SetProperty

Définit la propriété de contrôle spécifiée par dwDispID.

virtual void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Paramètres

dwDispID
Identifie l’ID de répartition de la propriété ou de la méthode, trouvé sur l’interface du IDispatch contrôle, à définir.

vtProp
Spécifie le type de propriété à définir. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

...
Paramètre unique du type spécifié par vtProp.

Notes

Si SetProperty une erreur se produit, une exception est levée.

Le type d’exception est déterminé par la valeur de retour de la tentative de définition de la propriété ou de la méthode. Si la valeur de retour est DISP_E_EXCEPTION, a COleDispatchExcpetion est levée ; sinon un COleException.

COleControlSite ::SetPropertyV

Définit la propriété de contrôle spécifiée par dwDispID.

virtual void SetPropertyV(
    DISPID dwDispID,
    VARTYPE vtProp,
    va_list argList);

Paramètres

dwDispID
Identifie l’ID de répartition de la propriété ou de la méthode, trouvé sur l’interface du IDispatch contrôle, à définir.

vtProp
Spécifie le type de propriété à définir. Pour connaître les valeurs possibles, consultez la section Notes de COleDispatchDriver::InvokeHelper.

Arglist
Pointeur désignant la liste d’arguments.

Notes

Des paramètres supplémentaires pour la méthode ou la propriété appelée peuvent être passés à l’aide du paramètre arg_list . Si SetProperty une erreur se produit, une exception est levée.

Le type d’exception est déterminé par la valeur de retour de la tentative de définition de la propriété ou de la méthode. Si la valeur de retour est DISP_E_EXCEPTION, a COleDispatchExcpetion est levée ; sinon un COleException.

COleControlSite ::SetWindowPos

Définit la taille, la position et l’ordre Z du site de contrôle.

virtual BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Paramètres

pWndInsertAfter
Pointeur vers la fenêtre.

x
Nouvelle position du côté gauche de la fenêtre.

y
Nouvelle position du haut de la fenêtre.

Cx
Nouvelle largeur de la fenêtre

Cy
Nouvelle hauteur de la fenêtre.

nFlags
Spécifie les indicateurs de dimensionnement et de positionnement de la fenêtre. Pour connaître les valeurs possibles, consultez la section Notes pour SetWindowPos dans le Kit de développement logiciel (SDK) Windows.

Valeur de retour

Différent de zéro s’il réussit, sinon zéro.

COleControlSite ::SetWindowText

Définit le texte du site de contrôle.

virtual void SetWindowText(LPCTSTR lpszString);

Paramètres

lpszString
Pointeur vers une chaîne terminée par null à utiliser comme nouveau titre ou texte de contrôle.

Notes

Cette fonction tente d’abord de définir la propriété stock caption. Si la propriété de titre n’est pas prise en charge, la propriété Text est définie à la place.

COleControlSite ::ShowWindow

Définit l’état d’affichage de la fenêtre.

virtual BOOL ShowWindow(int nCmdShow);

Paramètres

nCmdShow
Spécifie la façon dont le site de contrôle doit être affiché. Il doit s’agir de l’une des valeurs suivantes :

  • SW_HIDE Masque cette fenêtre et passe l’activation à une autre fenêtre.

  • SW_MINIMIZE réduit la fenêtre et active la fenêtre de niveau supérieur dans la liste du système.

  • SW_RESTORE Active et affiche la fenêtre. Si la fenêtre est réduite ou agrandie, Windows le restaure à sa taille et sa position d’origine.

  • SW_SHOW Active la fenêtre et l’affiche dans sa taille et sa position actuelles.

  • SW_SHOWMAXIMIZED Active la fenêtre et l’affiche sous forme de fenêtre agrandie.

  • SW_SHOWMINIMIZED Active la fenêtre et l’affiche sous forme d’icône.

  • SW_SHOWMINNOACTIVE Affiche la fenêtre sous forme d’icône. La fenêtre actuellement active reste active.

  • SW_SHOWNA Affiche la fenêtre dans son état actuel. La fenêtre actuellement active reste active.

  • SW_SHOWNOACTIVATE Affiche la fenêtre dans sa taille et sa position les plus récentes. La fenêtre actuellement active reste active.

  • SW_SHOWNORMAL Active et affiche la fenêtre. Si la fenêtre est réduite ou agrandie, Windows le restaure à sa taille et sa position d’origine.

Valeur de retour

Différent de zéro si la fenêtre était précédemment visible ; 0 si la fenêtre était précédemment masquée.

Voir aussi

CCmdTarget, classe
Graphique hiérarchique
COleControlContainer, classe