Partager via


CComControlBase, classe

Cette classe fournit des méthodes pour créer et gérer des contrôles ATL.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class ATL_NO_VTABLE CComControlBase

Membres

Typedefs publics

Nom Description
CComControlBase ::AppearanceType Remplacez si votre m_nAppearance propriété de stock n’est pas de type short.

Constructeurs publics

Nom Description
CComControlBase ::CComControlBase Constructeur .
CComControlBase ::~CComControlBase Destructeur.

Méthodes publiques

Nom Description
CComControlBase ::ControlQueryInterface Récupère un pointeur vers l'interface demandée.
CComControlBase ::D oesVerbActivate Vérifie que le paramètre iVerb utilisé par IOleObjectImpl::DoVerb active l’interface utilisateur du contrôle (iVerb est égal à OLEIVERB_UIACTIVATE), définit l’action effectuée lorsque l’utilisateur double-clique sur le contrôle (iVerb est égal à OLEIVERB_PRIMARY), affiche le contrôle (iVerb est égal à OLEIVERB_SHOW) ou active le contrôle (iVerb est égal à OLEIVERB_INPLACEACTIVATE).
CComControlBase ::D oesVerbUIActivate Vérifie que le paramètre iVerb utilisé par IOleObjectImpl::DoVerb l’interface utilisateur du contrôle est activé et retourne TRUE.
CComControlBase ::D oVerbProperties Affiche les pages de propriétés du contrôle.
CComControlBase ::FireViewChange Appelez cette méthode pour indiquer au conteneur de redessiner le contrôle ou avertir les récepteurs d’avis inscrits que la vue du contrôle a changé.
CComControlBase ::GetAmbientAppearance Récupère DISPID_AMBIENT_APPEARANCE, le paramètre d’apparence actuel du contrôle : 0 pour plat et 1 pour 3D.
CComControlBase ::GetAmbientAutoClip Récupère DISPID_AMBIENT_AUTOCLIP, un indicateur indiquant si le conteneur prend en charge la capture automatique de la zone d’affichage du contrôle.
CComControlBase ::GetAmbientBackColor Récupère DISPID_AMBIENT_BACKCOLOR, la couleur d’arrière-plan ambiante de tous les contrôles, définie par le conteneur.
CComControlBase ::GetAmbientCharSet Récupère DISPID_AMBIENT_CHARSET, le jeu de caractères ambiants pour tous les contrôles, défini par le conteneur.
CComControlBase ::GetAmbientCodePage Récupère DISPID_AMBIENT_CODEPAGE, le jeu de caractères ambiant pour tous les contrôles, défini par le conteneur.
CComControlBase ::GetAmbientDisplayAsDefault Récupère DISPID_AMBIENT_DISPLAYASDEFAULT, un indicateur qui a la valeur TRUE si le conteneur a marqué le contrôle dans ce site comme un bouton par défaut, et par conséquent, un contrôle bouton doit se dessiner lui-même avec un cadre plus épais.
CComControlBase ::GetAmbientDisplayName Récupère DISPID_AMBIENT_DISPLAYNAME, le nom du conteneur a été fourni au contrôle.
CComControlBase ::GetAmbientFont Récupère un pointeur vers l’interface ambiante IFont du conteneur.
CComControlBase ::GetAmbientFontDisp Récupère un pointeur vers l’interface de répartition ambiante IFontDisp du conteneur.
CComControlBase ::GetAmbientForeColor Récupère DISPID_AMBIENT_FORECOLOR, la couleur de premier plan ambiante pour tous les contrôles, définie par le conteneur.
CComControlBase ::GetAmbientLocaleID Récupère DISPID_AMBIENT_LOCALEID, l’identificateur de la langue utilisée par le conteneur.
CComControlBase ::GetAmbientMessageReflect Récupère DISPID_AMBIENT_MESSAGEREFLECT, indicateur indiquant si le conteneur souhaite recevoir des messages de fenêtre (tels que WM_DRAWITEM) en tant qu’événements.
CComControlBase ::GetAmbientPalette Récupère DISPID_AMBIENT_PALETTE, utilisé pour accéder à HPALETTE du conteneur.
CComControlBase ::GetAmbientProperty Récupère la propriété de conteneur spécifiée par ID.
CComControlBase ::GetAmbientRightToLeft Récupère DISPID_AMBIENT_RIGHTTOLEFT, la direction dans laquelle le contenu est affiché par le conteneur.
CComControlBase ::GetAmbientScaleUnits Récupère DISPID_AMBIENT_SCALEUNITS, les unités ambiantes du conteneur (telles que pouces ou centimètres) pour les affichages d’étiquetage.
CComControlBase ::GetAmbientShowGrabHandles Récupère DISPID_AMBIENT_SHOWGRABHANDLES, un indicateur indiquant si le conteneur permet au contrôle d’afficher les poignées de saisie pour elle-même lorsqu’il est actif.
CComControlBase ::GetAmbientShowHatching Récupère DISPID_AMBIENT_SHOWHATCHING, indicateur indiquant si le conteneur permet au contrôle de s’afficher avec un modèle haché lorsque l’interface utilisateur est active.
CComControlBase ::GetAmbientSupportsMnemonics Récupère DISPID_AMBIENT_SUPPORTSMNEMONICS, indicateur indiquant si le conteneur prend en charge les mnémoniques de clavier.
CComControlBase ::GetAmbientTextAlign Récupère DISPID_AMBIENT_TEXTALIGN, l’alignement du texte préféré par le conteneur : 0 pour l’alignement général (nombres de droite, texte gauche), 1 pour l’alignement gauche, 2 pour l’alignement central et 3 pour l’alignement droit.
CComControlBase ::GetAmbientTopToBottom Récupère DISPID_AMBIENT_TOPTOBOTTOM, la direction dans laquelle le contenu est affiché par le conteneur.
CComControlBase ::GetAmbientUIDead Récupère DISPID_AMBIENT_UIDEAD, un indicateur indiquant si le conteneur souhaite que le contrôle réponde aux actions de l’interface utilisateur.
CComControlBase ::GetAmbientUserMode Récupère DISPID_AMBIENT_USERMODE, un indicateur indiquant si le conteneur est en mode d’exécution (TRUE) ou en mode création (FALSE).
CComControlBase ::GetDirty Retourne la valeur du membre m_bRequiresSavede données .
CComControlBase ::GetZoomInfo Récupère les valeurs x et y du numérateur et du dénominateur du facteur de zoom pour un contrôle activé pour la modification sur place.
CComControlBase ::InPlaceActivate Provoque la transition du contrôle de l’état inactif vers l’état inactif indiqué par le verbe dans iVerb .
CComControlBase ::InternalGetSite Appelez cette méthode pour interroger le site de contrôle d’un pointeur vers l’interface identifiée.
CComControlBase ::OnDraw Remplacez cette méthode pour dessiner votre contrôle.
CComControlBase ::OnDrawAdvanced La valeur par défaut OnDrawAdvanced prépare un contexte d’appareil normalisé pour le dessin, puis appelle la méthode de votre classe de OnDraw contrôle.
CComControlBase ::OnKillFocus Vérifie que le contrôle est actif sur place et a un site de contrôle valide, puis informe le conteneur que le contrôle a perdu le focus.
CComControlBase ::OnMouseActivate Vérifie que l’interface utilisateur est en mode utilisateur, puis active le contrôle.
CComControlBase ::OnPaint Prépare le conteneur pour la peinture, obtient la zone cliente du contrôle, puis appelle la méthode de la classe de OnDraw contrôle.
CComControlBase ::OnSetFocus Vérifie que le contrôle est actif sur place et qu’il a un site de contrôle valide, puis informe le conteneur que le contrôle a obtenu le focus.
CComControlBase ::P reTranslateAccelerator Remplacez cette méthode pour fournir vos propres gestionnaires d’accélérateurs de clavier.
CComControlBase ::SendOnClose Avertit tous les récepteurs consultatifs enregistrés auprès du titulaire du conseil que le contrôle a été fermé.
CComControlBase ::SendOnDataChange Avertit tous les récepteurs consultatifs inscrits auprès du titulaire du conseil que les données de contrôle ont changé.
CComControlBase ::SendOnRename Avertit tous les récepteurs consultatifs inscrits auprès du titulaire du conseil que le contrôle a un nouveau moniker.
CComControlBase ::SendOnSave Avertit tous les récepteurs consultatifs enregistrés auprès du titulaire du conseil que le contrôle a été enregistré.
CComControlBase ::SendOnViewChange Avertit tous les récepteurs consultatifs inscrits que la vue du contrôle a changé.
CComControlBase ::SetControlFocus Définit ou supprime le focus clavier sur ou à partir du contrôle.
CComControlBase ::SetDirty Définit le membre m_bRequiresSave de données sur la valeur dans bDirty.

Membres de données publics

Nom Description
CComControlBase ::m_bAutoSize Indicateur indiquant que le contrôle ne peut pas être d’une autre taille.
CComControlBase ::m_bDrawFromNatural Indicateur indiquant que IDataObjectImpl::GetData et doit définir la taille du contrôle à partir de celle de m_sizeNatural m_sizeExtent.CComControlBase::GetZoomInfo
CComControlBase ::m_bDrawGetDataInHimetric Indicateur indiquant qu’il IDataObjectImpl::GetData doit utiliser des unités HIMETRIC et non des pixels lors du dessin.
CComControlBase ::m_bInPlaceActive Indicateur indiquant que le contrôle est actif sur place.
CComControlBase ::m_bInPlaceSiteEx Indicateur indiquant que le conteneur prend en charge les IOleInPlaceSiteEx fonctionnalités d’interface et de contrôle OCX96, telles que les contrôles sans fenêtre et sans scintillement.
CComControlBase ::m_bNegotiatedWnd Indicateur indiquant si le contrôle a négocié avec le conteneur la prise en charge des fonctionnalités de contrôle OCX96 (telles que les contrôles sans scintillement et sans fenêtre) et si le contrôle est fenêtré ou sans fenêtre.
CComControlBase ::m_bRecomposeOnResize Indicateur indiquant que le contrôle souhaite recompiler sa présentation lorsque le conteneur modifie la taille d’affichage du contrôle.
CComControlBase ::m_bRequiresSave Indicateur indiquant que le contrôle a changé depuis son dernier enregistrement.
CComControlBase ::m_bResizeNatural Indicateur indiquant que le contrôle souhaite redimensionner son étendue naturelle (sa taille physique non mise à l’échelle) lorsque le conteneur modifie la taille d’affichage du contrôle.
CComControlBase ::m_bUIActive Indicateur indiquant l’interface utilisateur du contrôle, comme les menus et les barres d’outils, est actif.
CComControlBase ::m_bUsingWindowRgn Indicateur indiquant que le contrôle utilise la région de fenêtre fournie par le conteneur.
CComControlBase ::m_bWasOnceWindowless Indicateur indiquant que le contrôle a été sans fenêtre, mais peut ou non être sans fenêtre maintenant.
CComControlBase ::m_bWindowOnly Indicateur indiquant que le contrôle doit être fenêtré, même si le conteneur prend en charge les contrôles sans fenêtre.
CComControlBase ::m_bWndLess Indicateur indiquant que le contrôle est sans fenêtre.
CComControlBase ::m_hWndCD Contient une référence au handle de fenêtre associé au contrôle.
CComControlBase ::m_nFreezeEvents Nombre de fois où le conteneur a gelé des événements (refusé d’accepter des événements) sans le dégel des événements intermédiaires (acceptation des événements).
CComControlBase ::m_rcPos Position en pixels du contrôle, exprimée dans les coordonnées du conteneur.
CComControlBase ::m_sizeExtent L’étendue du contrôle en unités HIMETRIC (chaque unité est de 0,01 millimètre) pour un affichage particulier.
CComControlBase ::m_sizeNatural Taille physique du contrôle en unités HIMETRIC (chaque unité est de 0,01 millimètre).
CComControlBase ::m_spAdviseSink Pointeur direct vers la connexion de conseil sur le conteneur (IAdviseSink du conteneur).
CComControlBase ::m_spAmbientDispatch Objet CComDispatchDriver qui vous permet de récupérer et de définir les propriétés du conteneur via un IDispatch pointeur.
CComControlBase ::m_spClientSite Pointeur vers le site client du contrôle dans le conteneur.
CComControlBase ::m_spDataAdviseHolder Fournit un moyen standard de conserver des connexions d’avis entre les objets de données et les récepteurs d’avis.
CComControlBase ::m_spInPlaceSite Pointeur vers le pointeur d’interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless du conteneur.
CComControlBase ::m_spOleAdviseHolder Fournit une implémentation standard d’un moyen de conserver des connexions de conseil.

Notes

Cette classe fournit des méthodes pour créer et gérer des contrôles ATL. La classe CComControl dérive de CComControlBase. Lorsque vous créez un contrôle Standard ou DHTML à l’aide de l’Assistant Contrôle ATL, l’Assistant dérive automatiquement votre classe de CComControlBase.

Pour plus d’informations sur la création d’un contrôle, consultez le didacticiel ATL. Pour plus d’informations sur l’Assistant Projet ATL, consultez l’article Création d’un projet ATL.

Spécifications

En-tête : atlctl.h

CComControlBase ::AppearanceType

Remplacez si votre m_nAppearance propriété de stock n’est pas de type short.

typedef short AppearanceType;

Notes

L’Assistant Contrôle ATL ajoute m_nAppearance la propriété stock de type court. Remplacez AppearanceType si vous utilisez un autre type de données.

CComControlBase ::CComControlBase

Constructeur .

CComControlBase(HWND& h);

Paramètres

h
Handle de la fenêtre associée au contrôle.

Notes

Initialise la taille du contrôle à 5080X5080 UNITÉS HIMETRIC (2"X2 ») et initialise les valeurs membres de CComControlBase données sur NULL ou FALSE.

CComControlBase ::~CComControlBase

Destructeur.

~CComControlBase();

Notes

Si le contrôle est fenêtré, ~CComControlBase le détruit en appelant DestroyWindow.

CComControlBase ::ControlQueryInterface

Récupère un pointeur vers l'interface demandée.

virtual HRESULT ControlQueryInterface(const IID& iid,
    void** ppv);

Paramètres

iid
GUID de l’interface demandée.

ppv
Pointeur vers le pointeur d’interface identifié par iid ou NULL si l’interface est introuvable.

Notes

Gère uniquement les interfaces dans la table de mappage COM.

Exemple

// Retrieve the control's IOleObject interface. Note interface 
// is automatically released when pOleObject goes out of scope

CComPtr<IOleObject> pOleObject;
ControlQueryInterface(IID_IOleObject, (void**)&pOleObject);

CComControlBase ::D oesVerbActivate

Vérifie que le paramètre iVerb utilisé par IOleObjectImpl::DoVerb active l’interface utilisateur du contrôle (iVerb est égal à OLEIVERB_UIACTIVATE), définit l’action effectuée lorsque l’utilisateur double-clique sur le contrôle (iVerb est égal à OLEIVERB_PRIMARY), affiche le contrôle (iVerb est égal à OLEIVERB_SHOW) ou active le contrôle (iVerb est égal à OLEIVERB_INPLACEACTIVATE).

BOOL DoesVerbActivate(LONG iVerb);

Paramètres

iVerb
Valeur indiquant l’action à effectuer par DoVerb.

Valeur de retour

Retourne TRUE si iVerb est égal à OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW ou OLEIVERB_INPLACEACTIVATE ; sinon, retourne FALSE.

Notes

Vous pouvez remplacer cette méthode pour définir votre propre verbe d’activation.

CComControlBase ::D oesVerbUIActivate

Vérifie que le paramètre iVerb utilisé par IOleObjectImpl::DoVerb l’interface utilisateur du contrôle est activé et retourne TRUE.

BOOL DoesVerbUIActivate(LONG iVerb);

Paramètres

iVerb
Valeur indiquant l’action à effectuer par DoVerb.

Valeur de retour

Retourne TRUE si iVerb est égal à OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW ou OLEIVERB_INPLACEACTIVATE. Sinon, la méthode retourne FALSE.

CComControlBase ::D oVerbProperties

Affiche les pages de propriétés du contrôle.

HRESULT DoVerbProperties(LPCRECT /* prcPosRect */, HWND hwndParent);

Paramètres

prcPosRec
Réservé.

hwndParent
Handle de la fenêtre contenant le contrôle.

Valeur de retour

Une des valeurs HRESULT standard.

Exemple

// The following implementation of the WM_RBUTTONDOWN message handler
// will pop up the ActiveX Control's PropertyPages 
LRESULT CMyComposite::OnRButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, 
   LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
   DoVerbProperties(NULL, ::GetActiveWindow());
   return 0L;
}

 

MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)

CComControlBase ::FireViewChange

Appelez cette méthode pour indiquer au conteneur de redessiner le contrôle ou avertir les récepteurs d’avis inscrits que la vue du contrôle a changé.

HRESULT FireViewChange();

Valeur de retour

Une des valeurs HRESULT standard.

Notes

Si le contrôle est actif (le membre de données de la classe de contrôle CComControlBase ::m_bInPlaceActive a la valeur TRUE), avertit le conteneur que vous souhaitez redessiner l’intégralité du contrôle. Si le contrôle est inactif, avertit les récepteurs d’avis enregistrés du contrôle (par le biais du membre de données de la classe de contrôle CComControlBase ::m_spAdviseSink) que la vue du contrôle a changé.

Exemple

STDMETHODIMP CMyControl::put_Shape(int newVal)
{
   // store newVal in m_nShape user-defined member
   m_nShape = newVal;

   // notify container to redraw control
   FireViewChange();
   return S_OK;
}

CComControlBase ::GetAmbientAppearance

Récupère DISPID_AMBIENT_APPEARANCE, le paramètre d’apparence actuel du contrôle : 0 pour plat et 1 pour 3D.

HRESULT GetAmbientAppearance(short& nAppearance);

Paramètres

nAppearance
Propriété DISPID_AMBIENT_APPEARANCE.

Valeur de retour

Une des valeurs HRESULT standard.

Exemple

HRESULT OnDraw(ATL_DRAWINFO& di)
{
   short nAppearance;
   RECT& rc = *(RECT*)di.prcBounds;

   // draw 3D border if AmbientAppearance is not supported or is set to 1 
   HRESULT hr = GetAmbientAppearance(nAppearance);
   if (hr != S_OK || nAppearance==1)
   {
      DrawEdge(di.hdcDraw, &rc, EDGE_SUNKEN, BF_RECT);
   }
   else
   {
      Rectangle(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom);
   }

   SetTextAlign(di.hdcDraw, TA_CENTER|TA_BASELINE);
   LPCTSTR pszText = _T("ATL 8.0 : MyControl");

   // For security reasons, we recommend that you use the lstrlen function
   // with caution. Here, we can guarantee that pszText is NULL terminated,
   // and therefore it is safe to use this function.
   TextOut(di.hdcDraw, 
      (rc.left + rc.right) / 2, 
      (rc.top + rc.bottom) / 2, 
      pszText, 
      lstrlen(pszText));

   return S_OK;
}

CComControlBase ::GetAmbientAutoClip

Récupère DISPID_AMBIENT_AUTOCLIP, un indicateur indiquant si le conteneur prend en charge la capture automatique de la zone d’affichage du contrôle.

HRESULT GetAmbientAutoClip(BOOL& bAutoClip);

Paramètres

bAutoClip
La propriété DISPID_AMBIENT_AUTOCLIP.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientBackColor

Récupère DISPID_AMBIENT_BACKCOLOR, la couleur d’arrière-plan ambiante de tous les contrôles, définie par le conteneur.

HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);

Paramètres

BackColor
La propriété DISPID_AMBIENT_BACKCOLOR.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientCharSet

Récupère DISPID_AMBIENT_CHARSET, le jeu de caractères ambiants pour tous les contrôles, défini par le conteneur.

HRESULT GetAmbientCharSet(BSTR& bstrCharSet);

Paramètres

bstrCharSet
Propriété DISPID_AMBIENT_CHARSET.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

CComControlBase ::GetAmbientCodePage

Récupère DISPID_AMBIENT_CODEPAGE, la page de codes ambiante pour tous les contrôles, définie par le conteneur.

HRESULT GetAmbientCodePage(ULONG& ulCodePage);

Paramètres

ulCodePage
Propriété DISPID_AMBIENT_CODEPAGE.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

CComControlBase ::GetAmbientDisplayAsDefault

Récupère DISPID_AMBIENT_DISPLAYASDEFAULT, un indicateur qui a la valeur TRUE si le conteneur a marqué le contrôle dans ce site comme un bouton par défaut, et par conséquent, un contrôle bouton doit se dessiner lui-même avec un cadre plus épais.

HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);

Paramètres

bDisplayAsDefault
La propriété DISPID_AMBIENT_DISPLAYASDEFAULT.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientDisplayName

Récupère DISPID_AMBIENT_DISPLAYNAME, le nom du conteneur a été fourni au contrôle.

HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);

Paramètres

bstrDisplayName
La propriété DISPID_AMBIENT_DISPLAYNAME.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientFont

Récupère un pointeur vers l’interface ambiante IFont du conteneur.

HRESULT GetAmbientFont(IFont** ppFont);

Paramètres

ppFont
Pointeur vers l’interface IFont ambiante du conteneur.

Valeur de retour

Une des valeurs HRESULT standard.

Notes

Si la propriété a la valeur NULL, le pointeur a la valeur NULL. Si le pointeur n’est pas NULL, l’appelant doit libérer le pointeur.

CComControlBase ::GetAmbientFontDisp

Récupère un pointeur vers l’interface de répartition ambiante IFontDisp du conteneur.

HRESULT GetAmbientFontDisp(IFontDisp** ppFont);

Paramètres

ppFont
Pointeur vers l’interface de répartition IFontDisp ambiante du conteneur.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

Notes

Si la propriété a la valeur NULL, le pointeur a la valeur NULL. Si le pointeur n’est pas NULL, l’appelant doit libérer le pointeur.

CComControlBase ::GetAmbientForeColor

Récupère DISPID_AMBIENT_FORECOLOR, la couleur de premier plan ambiante pour tous les contrôles, définie par le conteneur.

HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);

Paramètres

ForeColor
Propriété DISPID_AMBIENT_FORECOLOR.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientLocaleID

Récupère DISPID_AMBIENT_LOCALEID, l’identificateur de la langue utilisée par le conteneur.

HRESULT GetAmbientLocaleID(LCID& lcid);

Paramètres

lcid
Propriété DISPID_AMBIENT_LOCALEID.

Valeur de retour

Une des valeurs HRESULT standard.

Notes

Le contrôle peut utiliser cet identificateur pour adapter son interface utilisateur à différentes langues.

CComControlBase ::GetAmbientMessageReflect

Récupère DISPID_AMBIENT_MESSAGEREFLECT, un indicateur indiquant si le conteneur souhaite recevoir des messages de fenêtre (par exemple) en tant qu’événements WM_DRAWITEM.

HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);

Paramètres

bMessageReflect
Propriété DISPID_AMBIENT_MESSAGEREFLECT.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientPalette

Récupère DISPID_AMBIENT_PALETTE, utilisé pour accéder à HPALETTE du conteneur.

HRESULT GetAmbientPalette(HPALETTE& hPalette);

Paramètres

hPalette
La propriété DISPID_AMBIENT_PALETTE.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientProperty

Récupère la propriété conteneur spécifiée par dispid.

HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);

Paramètres

dispid
Identificateur de la propriété conteneur à récupérer.

var
Variable à recevoir la propriété.

Valeur de retour

Une des valeurs HRESULT standard.

Notes

ATL a fourni un ensemble de fonctions d’assistance pour récupérer des propriétés spécifiques, par exemple, CComControlBase ::GetAmbientBackColor. S’il n’existe aucune méthode appropriée disponible, utilisez GetAmbientProperty.

CComControlBase ::GetAmbientRightToLeft

Récupère DISPID_AMBIENT_RIGHTTOLEFT, la direction dans laquelle le contenu est affiché par le conteneur.

HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);

Paramètres

bRightToLeft
La propriété DISPID_AMBIENT_RIGHTTOLEFT. Définissez la valeur TRUE si le contenu est affiché de droite à gauche, FALSE s’il est affiché de gauche à droite.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

CComControlBase ::GetAmbientScaleUnits

Récupère DISPID_AMBIENT_SCALEUNITS, les unités ambiantes du conteneur (telles que pouces ou centimètres) pour les affichages d’étiquetage.

HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);

Paramètres

bstrScaleUnits
Propriété DISPID_AMBIENT_SCALEUNITS.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientShowGrabHandles

Récupère DISPID_AMBIENT_SHOWGRABHANDLES, un indicateur indiquant si le conteneur permet au contrôle d’afficher les poignées de saisie pour elle-même lorsqu’il est actif.

HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);

Paramètres

bShowGrabHandles
Propriété DISPID_AMBIENT_SHOWGRABHANDLES.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientShowHatching

Récupère DISPID_AMBIENT_SHOWHATCHING, un indicateur indiquant si le conteneur permet au contrôle de s’afficher avec un modèle haché lorsque l’interface utilisateur du contrôle est active.

HRESULT GetAmbientShowHatching(BOOL& bShowHatching);

Paramètres

bShowHatching
Propriété DISPID_AMBIENT_SHOWHATCHING.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientSupportsMnemonics

Récupère DISPID_AMBIENT_SUPPORTSMNEMONICS, indicateur indiquant si le conteneur prend en charge les mnémoniques de clavier.

HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);

Paramètres

bSupportsMnemonics
La propriété DISPID_AMBIENT_SUPPORTSMNEMONICS.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientTextAlign

Récupère DISPID_AMBIENT_TEXTALIGN, l’alignement du texte préféré par le conteneur : 0 pour l’alignement général (nombres de droite, texte gauche), 1 pour l’alignement gauche, 2 pour l’alignement central et 3 pour l’alignement droit.

HRESULT GetAmbientTextAlign(short& nTextAlign);

Paramètres

nTextAlign
Propriété DISPID_AMBIENT_TEXTALIGN.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetAmbientTopToBottom

Récupère DISPID_AMBIENT_TOPTOBOTTOM, la direction dans laquelle le contenu est affiché par le conteneur.

HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);

Paramètres

bTopToBottom
Propriété DISPID_AMBIENT_TOPTOBOTTOM. Définissez la valeur TRUE si le texte est affiché en haut en bas, FALSE s’il est affiché en bas en haut.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

CComControlBase ::GetAmbientUIDead

Récupère DISPID_AMBIENT_UIDEAD, un indicateur indiquant si le conteneur souhaite que le contrôle réponde aux actions de l’interface utilisateur.

HRESULT GetAmbientUIDead(BOOL& bUIDead);

Paramètres

bUIDead
La propriété DISPID_AMBIENT_UIDEAD.

Valeur de retour

Une des valeurs HRESULT standard.

Notes

Si la valeur est TRUE, le contrôle ne doit pas répondre. Cet indicateur s’applique indépendamment de l’indicateur de DISPID_AMBIENT_USERMODE. Consultez CComControlBase ::GetAmbientUserMode.

CComControlBase ::GetAmbientUserMode

Récupère DISPID_AMBIENT_USERMODE, un indicateur indiquant si le conteneur est en mode d’exécution (TRUE) ou en mode création (FALSE).

HRESULT GetAmbientUserMode(BOOL& bUserMode);

Paramètres

bUserMode
Propriété DISPID_AMBIENT_USERMODE.

Valeur de retour

Une des valeurs HRESULT standard.

CComControlBase ::GetDirty

Retourne la valeur du membre m_bRequiresSavede données .

BOOL GetDirty();

Valeur de retour

Retourne la valeur du membre de données m_bRequiresSave.

Notes

Cette valeur est définie à l’aide de CComControlBase ::SetDirty.

CComControlBase ::GetZoomInfo

Récupère les valeurs x et y du numérateur et du dénominateur du facteur de zoom pour un contrôle activé pour la modification sur place.

void GetZoomInfo(ATL_DRAWINFO& di);

Paramètres

di
Structure qui contiendra le numérateur et le dénominateur du facteur de zoom. Pour plus d’informations, consultez ATL_DRAWINFO.

Notes

Le facteur de zoom est la proportion de la taille naturelle du contrôle dans son étendue actuelle.

CComControlBase ::InPlaceActivate

Provoque la transition du contrôle de l’état inactif vers l’état inactif indiqué par le verbe dans iVerb .

HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect = NULL);

Paramètres

iVerb
Valeur indiquant l’action à effectuer par IOleObjectImpl ::D oVerb.

prcPosRect
Pointeur vers la position du contrôle sur place.

Valeur de retour

Une des valeurs HRESULT standard.

Notes

Avant l’activation, cette méthode vérifie que le contrôle a un site client, vérifie la quantité du contrôle visible et obtient l’emplacement du contrôle dans la fenêtre parente. Une fois le contrôle activé, cette méthode active l’interface utilisateur du contrôle et indique au conteneur de rendre le contrôle visible.

Cette méthode récupère également un pointeur d’interface ou un IOleInPlaceSitepointeur IOleInPlaceSiteExd’interface pour le contrôle et le stocke dans le membre de données de la classe de contrôle CComControlBase ::m_spInPlaceSite.IOleInPlaceSiteWindowless Les membres de données de la classe de contrôle CComControlBase ::m_bInPlaceSiteEx, CComControlBase ::m_bWndLess, CComControlBase ::m_bWasOnceWindowless et CComControlBase ::m_bNegotiatedWnd sont définis sur true selon les besoins.

CComControlBase ::InternalGetSite

Appelez cette méthode pour interroger le site de contrôle d’un pointeur vers l’interface identifiée.

HRESULT InternalGetSite(REFIID riid, void** ppUnkSite);

Paramètres

riid
IID du pointeur d’interface qui doit être retourné dans ppUnkSite.

ppUnkSite
Adresse de la variable de pointeur qui reçoit le pointeur d’interface demandé dans riid.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

Notes

Si le site prend en charge l’interface demandée dans riid, le pointeur est retourné par le biais de ppUnkSite. Sinon, ppUnkSite a la valeur NULL.

CComControlBase ::m_bAutoSize

Indicateur indiquant que le contrôle ne peut pas être d’une autre taille.

unsigned m_bAutoSize:1;

Notes

Cet indicateur est vérifié IOleObjectImpl::SetExtent et, s’il a la valeur TRUE, la fonction retourne E_FAIL.

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Si vous ajoutez l’option Taille automatique sous l’onglet Propriétés stock de l’Assistant Contrôle ATL, l’Assistant crée automatiquement ce membre de données dans votre classe de contrôle, crée des méthodes put et get pour la propriété et prend en charge IPropertyNotifySink pour notifier automatiquement le conteneur lorsque la propriété change.

CComControlBase ::m_bDrawFromNatural

Indicateur indiquant que IDataObjectImpl::GetData et doit définir la taille du contrôle à partir de celle de m_sizeNatural m_sizeExtent.CComControlBase::GetZoomInfo

unsigned m_bDrawFromNatural:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bDrawGetDataInHimetric

Indicateur indiquant qu’il IDataObjectImpl::GetData doit utiliser des unités HIMETRIC et non des pixels lors du dessin.

unsigned m_bDrawGetDataInHimetric:1;

Notes

Chaque unité HIMETRIC logique est de 0,01 millimètre.

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bInPlaceActive

Indicateur indiquant que le contrôle est actif sur place.

unsigned m_bInPlaceActive:1;

Notes

Cela signifie que le contrôle est visible et que sa fenêtre, le cas échéant, est visible, mais ses menus et barres d’outils peuvent ne pas être actifs. L’indicateur m_bUIActive indique que l’interface utilisateur du contrôle, telle que les menus, est également active.

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bInPlaceSiteEx

Indicateur indiquant que le conteneur prend en charge les IOleInPlaceSiteEx fonctionnalités d’interface et de contrôle OCX96, telles que les contrôles sans fenêtre et sans scintillement.

unsigned m_bInPlaceSiteEx:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Le membre m_spInPlaceSite de données pointe vers une interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless , en fonction de la m_bWndLess m_bInPlaceSiteEx valeur et des indicateurs. (Le membre m_bNegotiatedWnd de données doit être TRUE pour que le m_spInPlaceSite pointeur soit valide.)

Si m_bWndLess la valeur est FALSE et m_bInPlaceSiteEx est TRUE, m_spInPlaceSite il s’agit d’un pointeur d’interface IOleInPlaceSiteEx . Consultez m_spInPlaceSite pour obtenir une table montrant la relation entre ces trois membres de données.

CComControlBase ::m_bNegotiatedWnd

Indicateur indiquant si le contrôle a négocié avec le conteneur la prise en charge des fonctionnalités de contrôle OCX96 (telles que les contrôles sans scintillement et sans fenêtre) et si le contrôle est fenêtré ou sans fenêtre.

unsigned m_bNegotiatedWnd:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

L’indicateur m_bNegotiatedWnd doit être TRUE pour que le m_spInPlaceSite pointeur soit valide.

CComControlBase ::m_bRecomposeOnResize

Indicateur indiquant que le contrôle souhaite recompiler sa présentation lorsque le conteneur modifie la taille d’affichage du contrôle.

unsigned m_bRecomposeOnResize:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Cet indicateur est vérifié par IOleObjectImpl ::SetExtent et, si TRUE, SetExtent avertit le conteneur des modifications d’affichage. si cet indicateur est défini, le bit OLEMISC_RECOMPOSEONRESIZE dans l’énumération OLEMISC doit également être défini.

CComControlBase ::m_bRequiresSave

Indicateur indiquant que le contrôle a changé depuis son dernier enregistrement.

unsigned m_bRequiresSave:1;

Notes

La valeur de m_bRequiresSave peut être définie avec CComControlBase ::SetDirty et récupérée avec CComControlBase ::GetDirty.

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bResizeNatural

Indicateur indiquant que le contrôle souhaite redimensionner son étendue naturelle (sa taille physique non mise à l’échelle) lorsque le conteneur modifie la taille d’affichage du contrôle.

unsigned m_bResizeNatural:1;

Notes

Cet indicateur est vérifié IOleObjectImpl::SetExtent et, si TRUE, la taille passée SetExtent est affectée à m_sizeNatural.

La taille passée SetExtent est toujours affectée à m_sizeExtent, quelle que soit la valeur de m_bResizeNatural.

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bUIActive

Indicateur indiquant l’interface utilisateur du contrôle, comme les menus et les barres d’outils, est actif.

unsigned m_bUIActive:1;

Notes

L’indicateur m_bInPlaceActive indique que le contrôle est actif, mais pas que son interface utilisateur est active.

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bUsingWindowRgn

Indicateur indiquant que le contrôle utilise la région de fenêtre fournie par le conteneur.

unsigned m_bUsingWindowRgn:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bWasOnceWindowless

Indicateur indiquant que le contrôle a été sans fenêtre, mais peut ou non être sans fenêtre maintenant.

unsigned m_bWasOnceWindowless:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bWindowOnly

Indicateur indiquant que le contrôle doit être fenêtré, même si le conteneur prend en charge les contrôles sans fenêtre.

unsigned m_bWindowOnly:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_bWndLess

Indicateur indiquant que le contrôle est sans fenêtre.

unsigned m_bWndLess:1;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Le membre m_spInPlaceSite de données pointe vers une interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless , selon la valeur des m_bWndLess indicateurs CComControlBase ::m_bInPlaceSiteEx . (Membre de données CComControlBase ::m_bNegotiatedWnd doit être TRUE pour que le pointeur CComControlBase ::m_spInPlaceSite soit valide.)

Si m_bWndLess la valeur est TRUE, m_spInPlaceSite est un pointeur d’interface IOleInPlaceSiteWindowless . Consultez CComControlBase ::m_spInPlaceSite pour une table montrant la relation complète entre ces membres de données.

CComControlBase ::m_hWndCD

Contient une référence au handle de fenêtre associé au contrôle.

HWND& m_hWndCD;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_nFreezeEvents

Nombre de fois où le conteneur a gelé des événements (refusé d’accepter des événements) sans le dégel des événements intermédiaires (acceptation des événements).

short m_nFreezeEvents;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_rcPos

Position en pixels du contrôle, exprimée dans les coordonnées du conteneur.

RECT m_rcPos;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_sizeExtent

L’étendue du contrôle en unités HIMETRIC (chaque unité est de 0,01 millimètre) pour un affichage particulier.

SIZE m_sizeExtent;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Cette taille est mise à l’échelle par l’affichage. La taille physique du contrôle est spécifiée dans le m_sizeNatural membre de données et est fixe.

Vous pouvez convertir la taille en pixels avec la fonction globale AtlHiMetricToPixel.

CComControlBase ::m_sizeNatural

Taille physique du contrôle en unités HIMETRIC (chaque unité est de 0,01 millimètre).

SIZE m_sizeNatural;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Cette taille est fixe, tandis que la taille est mise à m_sizeExtent l’échelle par l’affichage.

Vous pouvez convertir la taille en pixels avec la fonction globale AtlHiMetricToPixel.

CComControlBase ::m_spAdviseSink

Pointeur direct vers la connexion de conseil sur le conteneur (IAdviseSink du conteneur).

CComPtr<IAdviseSink>
    m_spAdviseSink;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_spAmbientDispatch

Objet CComDispatchDriver qui vous permet de récupérer et de définir les propriétés d’un objet via un IDispatch pointeur.

CComDispatchDriver m_spAmbientDispatch;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_spClientSite

Pointeur vers le site client du contrôle dans le conteneur.

CComPtr<IOleClientSite>
    m_spClientSite;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

CComControlBase ::m_spDataAdviseHolder

Fournit un moyen standard de conserver des connexions d’avis entre les objets de données et les récepteurs d’avis.

CComPtr<IDataAdviseHolder>
    m_spDataAdviseHolder;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Un objet de données est un contrôle qui peut transférer des données et qui implémente IDataObject, dont les méthodes spécifient le format et le support de transfert des données.

L’interface m_spDataAdviseHolder implémente les méthodes IDataObject ::D Advise et IDataObject ::D Unadvise pour établir et supprimer des connexions de conseil au conteneur. Le conteneur du contrôle doit implémenter un récepteur conseil en prenant en charge l’interface IAdviseSink .

CComControlBase ::m_spInPlaceSite

Pointeur vers le pointeur d’interface IOleInPlaceSite, IOleInPlaceSiteEx ou IOleInPlaceSiteWindowless du conteneur.

CComPtr<IOleInPlaceSiteWindowless>
    m_spInPlaceSite;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

Le m_spInPlaceSite pointeur est valide uniquement si l’indicateur m_bNegotiatedWnd a la valeur TRUE.

Le tableau suivant montre comment le type de m_spInPlaceSite pointeur dépend des indicateurs de membre de données m_bWndLess et m_bInPlaceSiteEx :

type de m_spInPlaceSite valeur m_bWndLess valeur m_bInPlaceSiteEx
IOleInPlaceSiteWindowless VRAI TRUE ou FALSE
IOleInPlaceSiteEx FAUX VRAI
IOleInPlaceSite FALSE FAUX

CComControlBase ::m_spOleAdviseHolder

Fournit une implémentation standard d’un moyen de conserver des connexions de conseil.

CComPtr<IOleAdviseHolder>
    m_spOleAdviseHolder;

Notes

Remarque

Pour utiliser ce membre de données dans votre classe de contrôle, vous devez le déclarer en tant que membre de données dans votre classe de contrôle. Votre classe de contrôle n’héritera pas de ce membre de données de la classe de base, car elle est déclarée dans une union dans la classe de base.

L’interface m_spOleAdviseHolder implémente les méthodes IOleObject ::Advise et IOleObject ::Unadvise pour établir et supprimer des connexions de conseil au conteneur. Le conteneur du contrôle doit implémenter un récepteur conseil en prenant en charge l’interface IAdviseSink .

CComControlBase ::OnDraw

Remplacez cette méthode pour dessiner votre contrôle.

virtual HRESULT OnDraw(ATL_DRAWINFO& di);

Paramètres

di
Référence à la structure ATL_DRAWINFO qui contient des informations de dessin telles que l’aspect dessin, les limites du contrôle et si le dessin est optimisé ou non.

Valeur de retour

Valeur HRESULT standard.

Notes

La valeur par défaut OnDraw supprime ou restaure le contexte de l’appareil ou ne fait rien, en fonction des indicateurs définis dans CComControlBase ::OnDrawAdvanced.

Une OnDraw méthode est automatiquement ajoutée à votre classe de contrôle lorsque vous créez votre contrôle avec l’Assistant Contrôle ATL. La valeur par défaut OnDraw de l’Assistant dessine un rectangle avec l’étiquette « ATL 8.0 ».

Exemple

Consultez l’exemple de CComControlBase ::GetAmbientAppearance.

CComControlBase ::OnDrawAdvanced

La valeur par défaut OnDrawAdvanced prépare un contexte d’appareil normalisé pour le dessin, puis appelle la méthode de votre classe de OnDraw contrôle.

virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);

Paramètres

di
Référence à la structure ATL_DRAWINFO qui contient des informations de dessin telles que l’aspect dessin, les limites du contrôle et si le dessin est optimisé ou non.

Valeur de retour

Valeur HRESULT standard.

Notes

Remplacez cette méthode si vous souhaitez accepter le contexte de l’appareil passé par le conteneur sans le normaliser.

Pour plus d’informations, consultez CComControlBase ::OnDraw .

CComControlBase ::OnKillFocus

Vérifie que le contrôle est actif sur place et a un site de contrôle valide, puis informe le conteneur que le contrôle a perdu le focus.

LRESULT OnKillFocus(UINT /* nMsg */,
    WPARAM /* wParam */,
    LPARAM /* lParam */,
    BOOL& bHandled);

Paramètres

nMsg
Réservé.

wParam
Réservé.

lParam
Réservé.

bHandled
Indicateur qui indique si le message de fenêtre a été géré avec succès. La valeur par défaut est FALSE.

Valeur de retour

Retourne toujours 1.

CComControlBase ::OnMouseActivate

Vérifie que l’interface utilisateur est en mode utilisateur, puis active le contrôle.

LRESULT OnMouseActivate(UINT /* nMsg */,
    WPARAM /* wParam */,
    LPARAM /* lParam */,
    BOOL& bHandled);

Paramètres

nMsg
Réservé.

wParam
Réservé.

lParam
Réservé.

bHandled
Indicateur qui indique si le message de fenêtre a été géré avec succès. La valeur par défaut est FALSE.

Valeur de retour

Retourne toujours 1.

CComControlBase ::OnPaint

Prépare le conteneur pour la peinture, obtient la zone cliente du contrôle, puis appelle la méthode de la classe de OnDrawAdvanced contrôle.

LRESULT OnPaint(UINT /* nMsg */,
    WPARAM wParam,
    LPARAM /* lParam */,
    BOOL& /* lResult */);

Paramètres

nMsg
Réservé.

wParam
HdC existant.

lParam
Réservé.

lResult
Réservé.

Valeur de retour

Retourne toujours zéro.

Notes

Si wParam n’est pas NULL, OnPaint suppose qu’il contient un HDC valide et l’utilise au lieu de CComControlBase ::m_hWndCD.

CComControlBase ::OnSetFocus

Vérifie que le contrôle est actif sur place et qu’il a un site de contrôle valide, puis informe le conteneur que le contrôle a obtenu le focus.

LRESULT OnSetFocus(UINT /* nMsg */,
    WPARAM /* wParam */,
    LPARAM /* lParam */,
    BOOL& bHandled);

Paramètres

nMsg
Réservé.

wParam
Réservé.

lParam
Réservé.

bHandled
Indicateur qui indique si le message de fenêtre a été géré avec succès. La valeur par défaut est FALSE.

Valeur de retour

Retourne toujours 1.

Notes

Envoie une notification au conteneur que le contrôle a reçu le focus.

CComControlBase ::P reTranslateAccelerator

Remplacez cette méthode pour fournir vos propres gestionnaires d’accélérateurs de clavier.

BOOL PreTranslateAccelerator(LPMSG /* pMsg */,
    HRESULT& /* hRet */);

Paramètres

pMsg
Réservé.

hRet
Réservé.

Valeur de retour

Par défaut, retourne FALSE.

CComControlBase ::SendOnClose

Avertit tous les récepteurs consultatifs enregistrés auprès du titulaire du conseil que le contrôle a été fermé.

HRESULT SendOnClose();

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

Notes

Envoie une notification indiquant que le contrôle a fermé ses récepteurs consultatifs.

CComControlBase ::SendOnDataChange

Avertit tous les récepteurs consultatifs inscrits auprès du titulaire du conseil que les données de contrôle ont changé.

HRESULT SendOnDataChange(DWORD advf = 0);

Paramètres

advf
Indiquez les indicateurs qui spécifient la façon dont l’appel à IAdviseSink ::OnDataChange est effectué. Les valeurs proviennent de l’énumération ADVF .

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

CComControlBase ::SendOnRename

Avertit tous les récepteurs consultatifs inscrits auprès du titulaire du conseil que le contrôle a un nouveau moniker.

HRESULT SendOnRename(IMoniker* pmk);

Paramètres

pmk
Pointeur vers le nouveau moniker du contrôle.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

Notes

Envoie une notification indiquant que le moniker du contrôle a changé.

CComControlBase ::SendOnSave

Avertit tous les récepteurs consultatifs enregistrés auprès du titulaire du conseil que le contrôle a été enregistré.

HRESULT SendOnSave();

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

Notes

Envoie une notification indiquant que le contrôle vient d’enregistrer ses données.

CComControlBase ::SendOnViewChange

Avertit tous les récepteurs consultatifs inscrits que la vue du contrôle a changé.

HRESULT SendOnViewChange(DWORD dwAspect, LONG lindex = -1);

Paramètres

dwAspect
Aspect ou vue du contrôle.

lindex
Partie de la vue qui a changé. Seul -1 est valide.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

Notes

SendOnViewChange appelle IAdviseSink ::OnViewChange. La seule valeur de lindex actuellement prise en charge est -1, ce qui indique que l’ensemble de la vue est intéressante.

CComControlBase ::SetControlFocus

Définit ou supprime le focus clavier sur ou à partir du contrôle.

BOOL SetControlFocus(BOOL bGrab);

Paramètres

bGrab
Si la valeur est TRUE, définit le focus clavier sur le contrôle appelant. Si la valeur est FALSE, supprime le focus clavier du contrôle appelant, à condition qu’il ait le focus.

Valeur de retour

Retourne TRUE si le contrôle reçoit correctement le focus ; sinon, FALSE.

Notes

Pour un contrôle fenêtré, la fonction d’API Windows SetFocus est appelée. Pour un contrôle sans fenêtre, IOleInPlaceSiteWindowless ::SetFocus est appelé. Grâce à cet appel, un contrôle sans fenêtre obtient le focus clavier et peut répondre aux messages de fenêtre.

CComControlBase ::SetDirty

Définit le membre m_bRequiresSave de données sur la valeur dans bDirty.

void SetDirty(BOOL bDirty);

Paramètres

bDirty
Valeur du membre de données CComControlBase ::m_bRequiresSave.

Notes

SetDirty(TRUE) doit être appelé pour indiquer que le contrôle a changé depuis son dernier enregistrement. La valeur de m_bRequiresSave cette propriété est récupérée avec CComControlBase ::GetDirty.

Voir aussi

CComControl, classe
Vue d’ensemble de la classe