Partager via


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