CAxWindow, classe
Cette classe fournit des méthodes pour manipuler une fenêtre hébergeant un contrôle ActiveX.
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
class CAxWindow : public CWindow
Membres
Méthodes
Fonction | Description |
---|---|
AttachControl | Attache un contrôle ActiveX existant à l’objet CAxWindow . |
CAxWindow | Construit un objet CAxWindow . |
CreateControl | Crée un contrôle ActiveX, l’initialise et l’héberge dans la CAxWindow fenêtre. |
CreateControlEx | Crée un contrôle ActiveX et récupère un pointeur d’interface (ou des pointeurs) à partir du contrôle. |
GetWndClassName | (Statique) Récupère le nom de classe prédéfini de l’objet CAxWindow . |
QueryControl | Récupère le IUnknown contrôle ActiveX hébergé. |
QueryHost | Récupère le IUnknown pointeur de l’objet CAxWindow . |
SetExternalDispatch | Définit l’interface de répartition externe utilisée par l’objet CAxWindow . |
SetExternalUIHandler | Définit l’interface externe IDocHostUIHandler utilisée par l’objet CAxWindow . |
Opérateurs
Opérateur | Description |
---|---|
operator = | Affecte un HWND à un objet existant CAxWindow . |
Notes
Cette classe fournit des méthodes pour manipuler une fenêtre qui héberge un contrôle ActiveX. L’hébergement est fourni par « AtlAxWin80 », qui est encapsulé par CAxWindow
.
La classe CAxWindow
est implémentée en tant que spécialisation de la CAxWindowT
classe. Cette spécialisation est déclarée comme suit :
typedef CAxWindowT<CWindow> CAxWindow;
Si vous devez modifier la classe de base, vous pouvez utiliser CAxWindowT
et spécifier la nouvelle classe de base en tant qu’argument de modèle.
Spécifications
En-tête : atlwin.h
CAxWindow ::AttachControl
Crée un objet hôte si celui-ci n’est pas déjà présent et attache le contrôle spécifié à l’hôte.
HRESULT AttachControl(
IUnknown* pControl,
IUnknown** ppUnkContainer);
Paramètres
pControl
[in] Pointeur vers le IUnknown
contrôle.
ppUnkContainer
[out] Pointeur vers l’hôte IUnknown
(l’objet AxWin
).
Valeur de retour
Valeur HRESULT standard.
Notes
L’objet de contrôle attaché doit être correctement initialisé avant d’appeler AttachControl
.
CAxWindow ::CAxWindow
Construit un CAxWindow
objet à l’aide d’un handle d’objet de fenêtre existant.
CAxWindow(HWND hWnd = NULL);
Paramètres
hWnd
Handle vers un objet de fenêtre existant.
CAxWindow ::CreateControl
Crée un contrôle ActiveX, puis initialise et héberge ce dernier dans la fenêtre spécifiée.
HRESULT CreateControl(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
HRESULT CreateControl(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL);
Paramètres
lpszName
Pointeur vers une chaîne pour créer le contrôle. Doit être mis en forme de l’une des manières suivantes :
Un ProgID tel que
"MSCAL.Calendar.7"
Un CLSID tel que
"{8E27C92B-1264-101C-8A2F-040224009C02}"
URL telle que
"<https://www.microsoft.com>"
Référence à un document actif tel que
"file://\\\Documents\MyDoc.doc"
Fragment de HTML tel que
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"
Remarque
"MSHTML:"
doit précéder le fragment HTML afin qu’il soit désigné comme étant un flux MSHTML. Seul le ProgID et le CLSID sont pris en charge dans les plateformes Windows Mobile. Les plateformes Windows CE embedded, autres que Windows Mobile prenant en charge CE IE prennent en charge tous les types, notamment ProgID, CLSID, URL, référence au document actif et fragment de HTML.
pStream
[in] Pointeur vers un flux utilisé pour initialiser les propriétés du contrôle. Sa valeur peut être NULL.
ppUnkContainer
[out] Adresse d’un pointeur qui recevra le IUnknown
conteneur. Sa valeur peut être NULL.
dwResID
ID de ressource d’une ressource HTML. Le contrôle WebBrowser est créé et chargé avec la ressource spécifiée.
Valeur de retour
Valeur HRESULT standard.
Notes
Si la deuxième version de cette méthode est utilisée, un contrôle HTML est créé et lié à la ressource identifiée par dwResID.
Cette méthode vous donne le même résultat que l’appel :
AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);
Consultez CAxWindow2T ::CreateControlLic pour créer, initialiser et héberger un contrôle ActiveX sous licence.
Exemple
Consultez l’hébergement de contrôles ActiveX à l’aide d’ATL AXHost pour un exemple qui utilise CreateControl
.
CAxWindow ::CreateControlEx
Crée un contrôle ActiveX, puis initialise et héberge ce dernier dans la fenêtre spécifiée.
HRESULT CreateControlEx(
LPCOLESTR lpszName,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL,
IUnknown** ppUnkControl = NULL,
REFIID iidSink = IID_NULL,
IUnknown* punkSink = NULL);
HRESULT CreateControlEx(
DWORD dwResID,
IStream* pStream = NULL,
IUnknown** ppUnkContainer = NULL,
IUnknown** ppUnkControl = NULL,
REFIID iidSink = IID_NULL,
IUnknown* punkSink = NULL);
Paramètres
lpszName
Pointeur vers une chaîne pour créer le contrôle. Doit être mis en forme de l’une des manières suivantes :
Un ProgID tel que
"MSCAL.Calendar.7"
Un CLSID tel que
"{8E27C92B-1264-101C-8A2F-040224009C02}"
URL telle que
"<https://www.microsoft.com>"
Référence à un document actif tel que
"file://\\\Documents\MyDoc.doc"
Fragment de HTML tel que
"MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"
Remarque
"MSHTML:"
doit précéder le fragment HTML afin qu’il soit désigné comme étant un flux MSHTML. Seul le ProgID et le CLSID sont pris en charge dans les plateformes Windows Mobile. Les plateformes Windows CE embedded, autres que Windows Mobile prenant en charge CE IE prennent en charge tous les types, notamment ProgID, CLSID, URL, référence au document actif et fragment de HTML.
pStream
[in] Pointeur vers un flux utilisé pour initialiser les propriétés du contrôle. Sa valeur peut être NULL.
ppUnkContainer
[out] Adresse d’un pointeur qui recevra le IUnknown
conteneur. Sa valeur peut être NULL.
ppUnkControl
[out] Adresse d’un pointeur qui recevra le IUnknown
contrôle. Sa valeur peut être NULL.
iidSink
[in] Identificateur d’interface d’une interface sortante sur l’objet contenu. Peut être IID_NULL.
punkSink
[in] Pointeur vers l’interface IUnknown
de l’objet récepteur à connecter au point de connexion sur l’objet contenu spécifié par iidSink.
dwResID
[in] ID de ressource d’une ressource HTML. Le contrôle WebBrowser est créé et chargé avec la ressource spécifiée.
Valeur de retour
Valeur HRESULT standard.
Notes
Cette méthode est similaire à CAxWindow ::CreateControl, mais contrairement à cette méthode, CreateControlEx
vous permet également de recevoir un pointeur d’interface vers le contrôle nouvellement créé et de configurer un récepteur d’événements pour recevoir les événements déclenchés par le contrôle.
Consultez CAxWindow2T ::CreateControlLicEx pour créer, initialiser et héberger un contrôle ActiveX sous licence.
Exemple
Consultez l’hébergement de contrôles ActiveX à l’aide d’ATL AXHost pour un exemple qui utilise CreateControlEx
.
CAxWindow ::GetWndClassName
Récupère le nom de la classe de fenêtre.
static LPCTSTR GetWndClassName();
Valeur de retour
Pointeur vers une chaîne contenant le nom de la classe de fenêtre qui peut héberger des contrôles ActiveX non licences.
CAxWindow ::operator =
Affecte un HWND à un objet existant CAxWindow
.
CAxWindow<TBase>& operator=(HWND hWnd);
Paramètres
hWnd
Handle vers une fenêtre existante.
Valeur de retour
Retourne une référence à l'objet CAxWindow
actif.
CAxWindow ::QueryControl
Récupère l’interface spécifiée du contrôle hébergé.
HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryControl(Q** ppUnk);
Paramètres
iid
[in] Spécifie l’IID de l’interface du contrôle.
ppUnk
[out] Pointeur vers l’interface du contrôle. Dans la version de modèle de cette méthode, il n’est pas nécessaire d’utiliser un ID de référence tant qu’une interface typée avec un UUID associé est passée.
Q
[in] Interface qui est interrogée pour.
Valeur de retour
Valeur HRESULT standard.
CAxWindow ::QueryHost
Retourne l’interface spécifiée de l’hôte.
HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class Q>
HRESULT QueryHost(Q** ppUnk);
Paramètres
iid
[in] Spécifie l’IID de l’interface du contrôle.
ppUnk
[out] Pointeur vers l’interface sur l’hôte. Dans la version de modèle de cette méthode, il n’est pas nécessaire d’utiliser un ID de référence tant qu’une interface typée avec un UUID associé est passée.
Q
[in] Interface qui est interrogée pour.
Valeur de retour
Valeur HRESULT standard.
Notes
L’interface de l’hôte permet d’accéder aux fonctionnalités sous-jacentes du code d’hébergement de fenêtre, implémentée par AxWin
.
CAxWindow ::SetExternalDispatch
Définit l’interface de répartition externe de l’objet CAxWindow
.
HRESULT SetExternalDispatch(IDispatch* pDisp);
Paramètres
pDisp
[in] Pointeur vers une IDispatch
interface.
Valeur de retour
Valeur HRESULT standard.
CAxWindow ::SetExternalUIHandler
Définit l’interface IDocHostUIHandlerDispatch externe pour l’objetCAxWindow
.
HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);
Paramètres
pUIHandler
[in] Pointeur vers une IDocHostUIHandlerDispatch
interface.
Valeur de retour
Valeur HRESULT standard.
Notes
L’interface externe IDocHostUIHandlerDispatch
est utilisée par les contrôles qui interrogent le site de l’hôte pour l’interface IDocHostUIHandlerDispatch
. Le contrôle WebBrowser est un contrôle qui le fait.
Voir aussi
Exemple ATLCON
CWindow, classe
Notions de base des contrôles composites
Vue d’ensemble de la classe
Faq sur le contrôle de l’autonomie