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 ::SafeSetProperty | 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. COleControlSite
implémente entièrement les interfaces IOleControlSite, IOleInPlaceSite, IOleClientSite, IPropertyNotifySink, IBoundObjectSite
INotifyDBEvents
, 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 COleControlSite
de , dérivez une classe de COleControlSite
. Dans votre CWnd
classe dérivée pour le conteneur (par exemple, votre boîte de dialogue) remplacez la CWnd::CreateControlSite
fonction.
Hiérarchie d'héritage
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 CWnd
dé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 CWnd
dé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 CRect
RECT
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 CFile
objet 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
.
bStorage
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, bStorage doit être TRUE. Si les données de pPersist sont un flux, bStorage 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 IOleInPlaceObject
IOleInPlaceObject 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 IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowless 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 SetWindowPos
Win32 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 SetWindowPos
Win32 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 ::SafeSetProperty
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