Freigeben über


CComControlBase-Klasse

Diese Klasse stellt Methoden zum Erstellen und Verwalten von ATL-Steuerelementen bereit.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

class ATL_NO_VTABLE CComControlBase

Member

Öffentliche Typedefs

Name Beschreibung
CComControlBase::AppearanceType Überschreiben, wenn Ihre m_nAppearance Aktieneigenschaft nicht vom Typ shortist.

Öffentliche Konstruktoren

Name Beschreibung
CComControlBase::CComControlBase Der Konstruktor.
CComControlBase::~CComControlBase Der Destruktor.

Öffentliche Methoden

Name Beschreibung
CComControlBase::ControlQueryInterface Ruft einen Zeiger auf die angeforderte Schnittstelle ab.
CComControlBase::D oesVerbActivate Überprüft, ob der von IOleObjectImpl::DoVerb der Benutzeroberfläche des Steuerelements verwendete iVerb-Parameter aktiviert wird (iVerb entspricht OLEIVERB_UIACTIVATE), definiert die ausgeführte Aktion, wenn der Benutzer auf das Steuerelement doppelklicken (iVerb entspricht OLEIVERB_PRIMARY), zeigt das Steuerelement an (iVerb entspricht OLEIVERB_SHOW), oder aktiviert das Steuerelement (iVerb entspricht OLEIVERB_INPLACEACTIVATE).
CComControlBase::D oesVerbUIActivate Überprüft, ob der von dem iVerb-ParameterIOleObjectImpl::DoVerb verwendete Parameter bewirkt, dass die Benutzeroberfläche des Steuerelements aktiviert wird und WAHR zurückgibt.
CComControlBase::D oVerbProperties Zeigt die Eigenschaftenseiten des Steuerelements an.
CComControlBase::FireViewChange Rufen Sie diese Methode auf, um dem Container mitzuteilen, dass das Steuerelement neu gezeichnet wird, oder benachrichtigen Sie die registrierten Empfehlungs-Senken, dass sich die Ansicht des Steuerelements geändert hat.
CComControlBase::GetAmbientAppearance Ruft DISPID_AMBIENT_APPEARANCE ab, die aktuelle Darstellungseinstellung für das Steuerelement: 0 für flach und 1 für 3D.
CComControlBase::GetAmbientAutoClip Ruft DISPID_AMBIENT_AUTOCLIP ab, ein Flag, das angibt, ob der Container die automatische Beschneidung des Steuerelementanzeigebereichs unterstützt.
CComControlBase::GetAmbientBackColor Ruft DISPID_AMBIENT_BACKCOLOR, die Umgebungshintergrundfarbe für alle Vom Container definierten Steuerelemente ab.
CComControlBase::GetAmbientCharSet Ruft DISPID_AMBIENT_CHARSET ab, der Umgebungszeichensatz für alle Vom Container definierten Steuerelemente.
CComControlBase::GetAmbientCodePage Ruft DISPID_AMBIENT_CODEPAGE ab, der Umgebungszeichensatz für alle Vom Container definierten Steuerelemente.
CComControlBase::GetAmbientDisplayAsDefault Ruft DISPID_AMBIENT_DISPLAYASDEFAULT ab, ein Flag, das TRUE ist, wenn der Container das Steuerelement auf dieser Website als Standardschaltfläche markiert hat, und daher sollte sich ein Schaltflächensteuerelement mit einem dickeren Frame zeichnen.
CComControlBase::GetAmbientDisplayName Ruft DISPID_AMBIENT_DISPLAYNAME ab, der Name, den der Container für das Steuerelement bereitgestellt hat.
CComControlBase::GetAmbientFont Ruft einen Zeiger auf die Umgebungsschnittstelle IFont des Containers ab.
CComControlBase::GetAmbientFontDisp Ruft einen Zeiger auf die Umgebungs-Dispatch-Schnittstelle IFontDisp des Containers ab.
CComControlBase::GetAmbientForeColor Ruft DISPID_AMBIENT_FORECOLOR, die Umgebungs-Vordergrundfarbe für alle Vom Container definierten Steuerelemente ab.
CComControlBase::GetAmbientLocaleID Ruft DISPID_AMBIENT_LOCALEID ab, der Bezeichner der vom Container verwendeten Sprache.
CComControlBase::GetAmbientMessageReflect Ruft DISPID_AMBIENT_MESSAGEREFLECT ab, ein Flag, das angibt, ob der Container Fensternachrichten (z. B. WM_DRAWITEM) als Ereignisse empfangen möchte.
CComControlBase::GetAmbientPalette Ruft DISPID_AMBIENT_PALETTE ab, der für den Zugriff auf die HPALETTE des Containers verwendet wird.
CComControlBase::GetAmbientProperty Ruft die durch id angegebene Containereigenschaft ab.
CComControlBase::GetAmbientRightToLeft Ruft DISPID_AMBIENT_RIGHTTOLEFT ab, die Richtung, in der Der Inhalt vom Container angezeigt wird.
CComControlBase::GetAmbientScaleUnits Ruft DISPID_AMBIENT_SCALEUNITS, die Umgebungseinheiten des Containers (z. B. Zoll oder Zentimeter) für die Beschriftungsanzeige ab.
CComControlBase::GetAmbientShowGrabHandles Ruft DISPID_AMBIENT_SHOWGRABHANDLES ab, ein Flag, das angibt, ob der Container das Anzeigen von Ziehpunkten für sich selbst ermöglicht, wenn er aktiv ist.
CComControlBase::GetAmbientShowHatching Ruft DISPID_AMBIENT_SHOWHATCHING ab, ein Flag, das angibt, ob der Container das Anzeigen des Steuerelements mit einem geschlüpften Muster ermöglicht, wenn die Benutzeroberfläche aktiv ist.
CComControlBase::GetAmbientSupportsMnemonics Ruft DISPID_AMBIENT_SUPPORTSMNEMONICS ab, ein Flag, das angibt, ob der Container Tastatur-Mnemonics unterstützt.
CComControlBase::GetAmbientTextAlign Ruft DISPID_AMBIENT_TEXTALIGN ab, die vom Container bevorzugte Textausrichtung: 0 für die allgemeine Ausrichtung (Zahlen rechts, Text links), 1 für die linke Ausrichtung, 2 für die zentrierte Ausrichtung und 3 für die rechte Ausrichtung.
CComControlBase::GetAmbientTopToBottom Ruft DISPID_AMBIENT_TOPTOBOTTOM ab, die Richtung, in der Der Inhalt vom Container angezeigt wird.
CComControlBase::GetAmbientUIDead Ruft DISPID_AMBIENT_UIDEAD ab, ein Flag, das angibt, ob das Steuerelement auf Benutzeroberflächenaktionen reagieren soll.
CComControlBase::GetAmbientUserMode Ruft DISPID_AMBIENT_USERMODE ab, ein Flag, das angibt, ob sich der Container im Laufzeitmodus (TRUE) oder im Entwurfsmodus (FALSE) befindet.
CComControlBase::GetDirty Gibt den Wert des Datenelements m_bRequiresSavezurück.
CComControlBase::GetZoomInfo Ruft die x- und y-Werte des Zählers und Nenner des Zoomfaktors für ein Steuerelement ab, das für die direkte Bearbeitung aktiviert ist.
CComControlBase::InPlaceActivate Bewirkt, dass das Steuerelement vom inaktiven Zustand zum zustand wechselt, den das Verb in iVerb angibt.
CComControlBase::InternalGetSite Rufen Sie diese Methode auf, um die Kontrollwebsite für einen Zeiger auf die identifizierte Schnittstelle abzufragen.
CComControlBase::OnDraw Überschreiben Sie diese Methode, um Das Steuerelement zu zeichnen.
CComControlBase::OnDrawAdvanced Der Standardwert OnDrawAdvanced bereitet einen normalisierten Gerätekontext für die Zeichnung vor und ruft dann die Methode der Steuerelementklasse OnDraw auf.
CComControlBase::OnKillFocus Überprüft, ob das Steuerelement aktiv ist und über einen gültigen Steuerelementstandort verfügt, und informiert dann den Container, dass das Steuerelement den Fokus verloren hat.
CComControlBase::OnMouseActivate Überprüft, ob sich die Benutzeroberfläche im Benutzermodus befindet, und aktiviert dann das Steuerelement.
CComControlBase::OnPaint Bereitet den Container für das Zeichnen vor, ruft den Clientbereich des Steuerelements ab und ruft dann die Methode der Steuerelementklasse OnDraw auf.
CComControlBase::OnSetFocus Überprüft, ob das Steuerelement aktiv ist und über einen gültigen Kontrollstandort verfügt, und informiert den Container, dass das Steuerelement den Fokus erlangt hat.
CComControlBase::P reTranslateAccelerator Überschreiben Sie diese Methode, um Eigene Zugriffstastenhandler bereitzustellen.
CComControlBase::SendOnClose Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass die Kontrolle geschlossen wurde.
CComControlBase::SendOnDataChange Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass sich die Kontrolldaten geändert haben.
CComControlBase::SendOnRename Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass die Kontrolle über einen neuen Moniker verfügt.
CComControlBase::SendOnSave Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass die Kontrolle gespeichert wurde.
CComControlBase::SendOnViewChange Benachrichtigt alle registrierten Beratungssenken, dass sich die Ansicht des Steuerelements geändert hat.
CComControlBase::SetControlFocus Legt den Tastaturfokus auf oder aus dem Steuerelement fest oder entfernt sie.
CComControlBase::SetDirty Legt das Datenelement m_bRequiresSave auf den Wert in bDirty fest.

Öffentliche Datenmember

Name Beschreibung
CComControlBase::m_bAutoSize Flag, das angibt, dass das Steuerelement keine andere Größe aufweisen kann.
CComControlBase::m_bDrawFromNatural Flag, das angibt, dass IDataObjectImpl::GetData und CComControlBase::GetZoomInfo die Steuerelementgröße m_sizeNatural anstelle von m_sizeExtent.
CComControlBase::m_bDrawGetDataInHimetric Flag, das angibt, dass IDataObjectImpl::GetData beim Zeichnen HIMETRIC-Einheiten und nicht Pixel verwendet werden sollen.
CComControlBase::m_bInPlaceActive Flag, das angibt, dass das Steuerelement aktiv ist.
CComControlBase::m_bInPlaceSiteEx Flag, das angibt, dass der Container die IOleInPlaceSiteEx Schnittstellen- und OCX96-Steuerelementfeatures unterstützt, z. B. fensterlose und flackerfreie Steuerelemente.
CComControlBase::m_bNegotiatedWnd Flag, das angibt, ob das Steuerelement mit dem Container über die Unterstützung von OCX96-Steuerelementfeatures (z. B. flackerfreie und fensterlose Steuerelemente) ausgehandelt wurde und ob das Steuerelement fensterlos oder fensterlos ist.
CComControlBase::m_bRecomposeOnResize Flag, das angibt, dass das Steuerelement seine Präsentation erneut kompensieren möchte, wenn der Container die Anzeigegröße des Steuerelements ändert.
CComControlBase::m_bRequiresSave Flag, das angibt, dass das Steuerelement seit dem letzten Speichern geändert wurde.
CComControlBase::m_bResizeNatural Flag, das angibt, dass das Steuerelement seine natürliche Größe (seine nicht skalierte physische Größe) ändern möchte, wenn der Container die Anzeigegröße des Steuerelements ändert.
CComControlBase::m_bUIActive Das Kennzeichen, das angibt, dass die Benutzeroberfläche des Steuerelements, z. B. Menüs und Symbolleisten, aktiv ist.
CComControlBase::m_bUsingWindowRgn Flag, das angibt, dass das Steuerelement den vom Container bereitgestellten Fensterbereich verwendet.
CComControlBase::m_bWasOnceWindowless Flag, das angibt, dass das Steuerelement fensterlos war, aber möglicherweise nicht fensterlos ist.
CComControlBase::m_bWindowOnly Flag, das angibt, dass das Steuerelement angezeigt werden soll, auch wenn der Container fensterlose Steuerelemente unterstützt.
CComControlBase::m_bWndLess Flag, das angibt, dass das Steuerelement fensterlos ist.
CComControlBase::m_hWndCD Enthält einen Verweis auf das fensterhandle, das dem Steuerelement zugeordnet ist.
CComControlBase::m_nFreezeEvents Eine Anzahl der Häufigkeit, mit der der Container gefrorene Ereignisse hat (die Annahme von Ereignissen verweigert wurde), ohne dass ereignisse dazwischen geschlagen werden (Annahme von Ereignissen).
CComControlBase::m_rcPos Die Position in Pixeln des Steuerelements, ausgedrückt in den Koordinaten des Containers.
CComControlBase::m_sizeExtent Der Umfang des Steuerelements in HIMETRIC-Einheiten (jede Einheit beträgt 0,01 Millimeter) für eine bestimmte Anzeige.
CComControlBase::m_sizeNatural Die physische Größe des Steuerelements in HIMETRIC-Einheiten (jede Einheit beträgt 0,01 Millimeter).
CComControlBase::m_spAdviseSink Ein direkter Zeiger auf die Empfehlungsverbindung auf dem Container (der IAdviseSink des Containers).
CComControlBase::m_spAmbientDispatch Ein CComDispatchDriver Objekt, mit dem Sie die Eigenschaften des Containers über einen IDispatch Zeiger abrufen und festlegen können.
CComControlBase::m_spClientSite Ein Zeiger auf den Clientstandort des Steuerelements innerhalb des Containers.
CComControlBase::m_spDataAdviseHolder Stellt eine Standardmethode bereit, um Beratungsverbindungen zwischen Datenobjekten zu halten und Senken zu beraten.
CComControlBase::m_spInPlaceSite Ein Zeiger auf den IOleInPlaceSite-, IOleInPlaceSiteEx- oder IOleInPlaceSiteWindowless-Schnittstellenzeiger .
CComControlBase::m_spOleAdviseHolder Bietet eine Standardimplementierung einer Möglichkeit zum Halten von Beratungsverbindungen.

Hinweise

Diese Klasse stellt Methoden zum Erstellen und Verwalten von ATL-Steuerelementen bereit. CComControl-Klasse wird von CComControlBase. Wenn Sie ein Standardsteuerelement oder DHTML-Steuerelement mithilfe des ATL-Steuerelement-Assistenten erstellen, leitet der Assistent Ihre Klasse automatisch von CComControlBase.

Weitere Informationen zum Erstellen eines Steuerelements finden Sie im ATL-Lernprogramm. Weitere Informationen zum ATL-Projekt-Assistenten finden Sie im Artikel Erstellen eines ATL-Projekts.

Anforderungen

Header: atlctl.h

CComControlBase::AppearanceType

Überschreiben, wenn Ihre m_nAppearance Aktieneigenschaft nicht vom Typ shortist.

typedef short AppearanceType;

Hinweise

Der ATL-Steuerelement-Assistent fügt m_nAppearance stock-Eigenschaft des Typs short hinzu. Überschreiben AppearanceType , wenn Sie einen anderen Datentyp verwenden.

CComControlBase::CComControlBase

Der Konstruktor.

CComControlBase(HWND& h);

Parameter

h
Der Ziehpunkt für das Fenster, das dem Steuerelement zugeordnet ist.

Hinweise

Initialisiert die Steuerelementgröße auf 5080X5080 HIMETRIC-Einheiten (2"X2") und initialisiert die CComControlBase Datenmememmwerte auf NULL oder FALSE.

CComControlBase::~CComControlBase

Der Destruktor.

~CComControlBase();

Hinweise

Wenn das Steuerelement fenstergefenstert ist, ~CComControlBase zerstört es durch Aufrufen von DestroyWindow.

CComControlBase::ControlQueryInterface

Ruft einen Zeiger auf die angeforderte Schnittstelle ab.

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

Parameter

Iid
Die GUID der angeforderten Schnittstelle.

Ppv
Ein Zeiger auf den von iid identifizierten Schnittstellenzeiger oder NULL, wenn die Schnittstelle nicht gefunden wird.

Hinweise

Behandelt nur Schnittstellen in der COM-Zuordnungstabelle.

Beispiel

// 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

Überprüft, ob der von IOleObjectImpl::DoVerb der Benutzeroberfläche des Steuerelements verwendete iVerb-Parameter aktiviert wird (iVerb entspricht OLEIVERB_UIACTIVATE), definiert die ausgeführte Aktion, wenn der Benutzer auf das Steuerelement doppelklicken (iVerb entspricht OLEIVERB_PRIMARY), zeigt das Steuerelement an (iVerb entspricht OLEIVERB_SHOW), oder aktiviert das Steuerelement (iVerb entspricht OLEIVERB_INPLACEACTIVATE).

BOOL DoesVerbActivate(LONG iVerb);

Parameter

iVerb
Wert, der die auszuführende Aktion DoVerbangibt.

Rückgabewert

Gibt WAHR zurück, wenn iVerb gleich OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW oder OLEIVERB_INPLACEACTIVATE ist. Andernfalls wird FALSE zurückgegeben.

Hinweise

Sie können diese Methode überschreiben, um ihr eigenes Aktivierungsverb zu definieren.

CComControlBase::D oesVerbUIActivate

Überprüft, ob der von dem iVerb-ParameterIOleObjectImpl::DoVerb verwendete Parameter bewirkt, dass die Benutzeroberfläche des Steuerelements aktiviert wird und WAHR zurückgibt.

BOOL DoesVerbUIActivate(LONG iVerb);

Parameter

iVerb
Wert, der die auszuführende Aktion DoVerbangibt.

Rückgabewert

Gibt WAHR zurück, wenn iVerb OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW oder OLEIVERB_INPLACEACTIVATE entspricht. Andernfalls gibt die Methode FALSE zurück.

CComControlBase::D oVerbProperties

Zeigt die Eigenschaftenseiten des Steuerelements an.

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

Parameter

prcPosRec
Reserviert.

hwndParent
Handle des Fensters, das das Steuerelement enthält.

Rückgabewert

Einer der HRESULT-Standardwerte.

Beispiel

// 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

Rufen Sie diese Methode auf, um dem Container mitzuteilen, dass das Steuerelement neu gezeichnet wird, oder benachrichtigen Sie die registrierten Empfehlungs-Senken, dass sich die Ansicht des Steuerelements geändert hat.

HRESULT FireViewChange();

Rückgabewert

Einer der HRESULT-Standardwerte.

Hinweise

Wenn das Steuerelement aktiv ist (das Steuerelementklassendatenmemm CComControlBase::m_bInPlaceActive true ist), benachrichtigt Sie den Container, den Sie das gesamte Steuerelement neu zeichnen möchten. Wenn das Steuerelement inaktiv ist, werden die registrierten Empfehlungen des Steuerelements benachrichtigt (über das Steuerelementklassendatenmemm CComControlBase::m_spAdviseSink), dass sich die Ansicht des Steuerelements geändert hat.

Beispiel

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

Ruft DISPID_AMBIENT_APPEARANCE ab, die aktuelle Darstellungseinstellung für das Steuerelement: 0 für flach und 1 für 3D.

HRESULT GetAmbientAppearance(short& nAppearance);

Parameter

nAppearance
Die Eigenschaft DISPID_AMBIENT_APPEARANCE.

Rückgabewert

Einer der HRESULT-Standardwerte.

Beispiel

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

Ruft DISPID_AMBIENT_AUTOCLIP ab, ein Flag, das angibt, ob der Container die automatische Beschneidung des Steuerelementanzeigebereichs unterstützt.

HRESULT GetAmbientAutoClip(BOOL& bAutoClip);

Parameter

bAutoClip
Die Eigenschaft DISPID_AMBIENT_AUTOCLIP.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientBackColor

Ruft DISPID_AMBIENT_BACKCOLOR, die Umgebungshintergrundfarbe für alle Vom Container definierten Steuerelemente ab.

HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);

Parameter

Backcolor
Die Eigenschaft DISPID_AMBIENT_BACKCOLOR.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientCharSet

Ruft DISPID_AMBIENT_CHARSET ab, der Umgebungszeichensatz für alle Vom Container definierten Steuerelemente.

HRESULT GetAmbientCharSet(BSTR& bstrCharSet);

Parameter

bstrCharSet
Die Eigenschaft DISPID_AMBIENT_CHARSET.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

CComControlBase::GetAmbientCodePage

Ruft DISPID_AMBIENT_CODEPAGE, die Umgebungscodeseite für alle Vom Container definierten Steuerelemente ab.

HRESULT GetAmbientCodePage(ULONG& ulCodePage);

Parameter

ulCodePage
Die Eigenschaft DISPID_AMBIENT_CODEPAGE.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

CComControlBase::GetAmbientDisplayAsDefault

Ruft DISPID_AMBIENT_DISPLAYASDEFAULT ab, ein Flag, das TRUE ist, wenn der Container das Steuerelement auf dieser Website als Standardschaltfläche markiert hat, und daher sollte sich ein Schaltflächensteuerelement mit einem dickeren Frame zeichnen.

HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);

Parameter

bDisplayAsDefault
Die Eigenschaft DISPID_AMBIENT_DISPLAYASDEFAULT.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientDisplayName

Ruft DISPID_AMBIENT_DISPLAYNAME ab, der Name, den der Container für das Steuerelement bereitgestellt hat.

HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);

Parameter

bstrDisplayName
Die Eigenschaft DISPID_AMBIENT_DISPLAYNAME.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientFont

Ruft einen Zeiger auf die Umgebungsschnittstelle IFont des Containers ab.

HRESULT GetAmbientFont(IFont** ppFont);

Parameter

ppFont
Ein Zeiger auf die Umgebungs-IFont-Schnittstelle des Containers.

Rückgabewert

Einer der HRESULT-Standardwerte.

Hinweise

Wenn die Eigenschaft NULL ist, ist der Zeiger NULL. Wenn der Zeiger nicht NULL ist, muss der Aufrufer den Zeiger freigeben.

CComControlBase::GetAmbientFontDisp

Ruft einen Zeiger auf die Umgebungs-Dispatch-Schnittstelle IFontDisp des Containers ab.

HRESULT GetAmbientFontDisp(IFontDisp** ppFont);

Parameter

ppFont
Ein Zeiger auf die Umgebungs-IFontDisp-Verteilerschnittstelle des Containers.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

Wenn die Eigenschaft NULL ist, ist der Zeiger NULL. Wenn der Zeiger nicht NULL ist, muss der Aufrufer den Zeiger freigeben.

CComControlBase::GetAmbientForeColor

Ruft DISPID_AMBIENT_FORECOLOR, die Umgebungs-Vordergrundfarbe für alle Vom Container definierten Steuerelemente ab.

HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);

Parameter

Forecolor
Die Eigenschaft DISPID_AMBIENT_FORECOLOR.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientLocaleID

Ruft DISPID_AMBIENT_LOCALEID ab, der Bezeichner der vom Container verwendeten Sprache.

HRESULT GetAmbientLocaleID(LCID& lcid);

Parameter

lcid
Die Eigenschaft DISPID_AMBIENT_LOCALEID.

Rückgabewert

Einer der HRESULT-Standardwerte.

Hinweise

Das Steuerelement kann diesen Bezeichner verwenden, um seine Benutzeroberfläche an verschiedene Sprachen anzupassen.

CComControlBase::GetAmbientMessageReflect

Ruft DISPID_AMBIENT_MESSAGEREFLECT ab, ein Flag, das angibt, ob der Container Fensternachrichten (z WM_DRAWITEM. B. Ereignisse) empfangen möchte.

HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);

Parameter

bMessageReflect
Die Eigenschaft DISPID_AMBIENT_MESSAGEREFLECT.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientPalette

Ruft DISPID_AMBIENT_PALETTE ab, der für den Zugriff auf die HPALETTE des Containers verwendet wird.

HRESULT GetAmbientPalette(HPALETTE& hPalette);

Parameter

hPalette
Die Eigenschaft DISPID_AMBIENT_PALETTE.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientProperty

Ruft die durch dispid angegebene Containereigenschaft ab.

HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);

Parameter

Dispid
Bezeichner der abzurufenden Containereigenschaft.

var
Variable zum Empfangen der Eigenschaft.

Rückgabewert

Einer der HRESULT-Standardwerte.

Hinweise

ATL hat eine Reihe von Hilfsfunktionen zum Abrufen bestimmter Eigenschaften bereitgestellt, z. B. CComControlBase::GetAmbientBackColor. Wenn keine geeignete Methode verfügbar ist, verwenden Sie GetAmbientProperty.

CComControlBase::GetAmbientRightToLeft

Ruft DISPID_AMBIENT_RIGHTTOLEFT ab, die Richtung, in der Der Inhalt vom Container angezeigt wird.

HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);

Parameter

bRightToLeft
Die Eigenschaft DISPID_AMBIENT_RIGHTTOLEFT. Wird auf TRUE festgelegt, wenn Der Inhalt von rechts nach links angezeigt wird, FALSE, wenn er von links nach rechts angezeigt wird.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

CComControlBase::GetAmbientScaleUnits

Ruft DISPID_AMBIENT_SCALEUNITS, die Umgebungseinheiten des Containers (z. B. Zoll oder Zentimeter) für die Beschriftungsanzeige ab.

HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);

Parameter

bstrScaleUnits
Die Eigenschaft DISPID_AMBIENT_SCALEUNITS.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientShowGrabHandles

Ruft DISPID_AMBIENT_SHOWGRABHANDLES ab, ein Flag, das angibt, ob der Container das Anzeigen von Ziehpunkten für sich selbst ermöglicht, wenn er aktiv ist.

HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);

Parameter

bShowGrabHandles
Die Eigenschaft DISPID_AMBIENT_SHOWGRABHANDLES.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientShowHatching

Ruft DISPID_AMBIENT_SHOWHATCHING ab, ein Flag, das angibt, ob der Container das Anzeigen des Steuerelements mit einem geschlüpften Muster ermöglicht, wenn die Benutzeroberfläche des Steuerelements aktiv ist.

HRESULT GetAmbientShowHatching(BOOL& bShowHatching);

Parameter

bShowHatching
Die Eigenschaft DISPID_AMBIENT_SHOWHATCHING.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientSupportsMnemonics

Ruft DISPID_AMBIENT_SUPPORTSMNEMONICS ab, ein Flag, das angibt, ob der Container Tastatur-Mnemonics unterstützt.

HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);

Parameter

bSupportsMnemonics
Die Eigenschaft DISPID_AMBIENT_SUPPORTSMNEMONICS.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientTextAlign

Ruft DISPID_AMBIENT_TEXTALIGN ab, die vom Container bevorzugte Textausrichtung: 0 für die allgemeine Ausrichtung (Zahlen rechts, Text links), 1 für die linke Ausrichtung, 2 für die zentrierte Ausrichtung und 3 für die rechte Ausrichtung.

HRESULT GetAmbientTextAlign(short& nTextAlign);

Parameter

nTextAlign
Die Eigenschaft DISPID_AMBIENT_TEXTALIGN.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetAmbientTopToBottom

Ruft DISPID_AMBIENT_TOPTOBOTTOM ab, die Richtung, in der Der Inhalt vom Container angezeigt wird.

HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);

Parameter

bTopToBottom
Die Eigenschaft DISPID_AMBIENT_TOPTOBOTTOM. Auf TRUE festgelegt, wenn Text von oben nach unten angezeigt wird, FALSE, wenn er von unten nach oben angezeigt wird.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

CComControlBase::GetAmbientUIDead

Ruft DISPID_AMBIENT_UIDEAD ab, ein Flag, das angibt, ob das Steuerelement auf Benutzeroberflächenaktionen reagieren soll.

HRESULT GetAmbientUIDead(BOOL& bUIDead);

Parameter

bUIDead
Die Eigenschaft DISPID_AMBIENT_UIDEAD.

Rückgabewert

Einer der HRESULT-Standardwerte.

Hinweise

Wenn WAHR, sollte das Steuerelement nicht reagieren. Dieses Kennzeichen gilt unabhängig von der DISPID_AMBIENT_USERMODE Kennzeichnung. Siehe CComControlBase::GetAmbientUserMode.

CComControlBase::GetAmbientUserMode

Ruft DISPID_AMBIENT_USERMODE ab, ein Flag, das angibt, ob sich der Container im Laufzeitmodus (TRUE) oder im Entwurfsmodus (FALSE) befindet.

HRESULT GetAmbientUserMode(BOOL& bUserMode);

Parameter

bUserMode
Die Eigenschaft DISPID_AMBIENT_USERMODE.

Rückgabewert

Einer der HRESULT-Standardwerte.

CComControlBase::GetDirty

Gibt den Wert des Datenelements m_bRequiresSavezurück.

BOOL GetDirty();

Rückgabewert

Gibt den Wert des m_bRequiresSave des Datenelements zurück.

Hinweise

Dieser Wert wird mit CComControlBase::SetDirty festgelegt.

CComControlBase::GetZoomInfo

Ruft die x- und y-Werte des Zählers und Nenner des Zoomfaktors für ein Steuerelement ab, das für die direkte Bearbeitung aktiviert ist.

void GetZoomInfo(ATL_DRAWINFO& di);

Parameter

Di
Die Struktur, die den Zähler und den Nenner des Zoomfaktors enthält. Weitere Informationen finden Sie unter ATL_DRAWINFO.

Hinweise

Der Zoomfaktor ist der Anteil der natürlichen Größe des Steuerelements in seinem aktuellen Ausmaß.

CComControlBase::InPlaceActivate

Bewirkt, dass das Steuerelement vom inaktiven Zustand zum zustand wechselt, den das Verb in iVerb angibt.

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

Parameter

iVerb
Wert, der angibt, welche Aktion von IOleObjectImpl::D oVerb ausgeführt werden soll.

prcPosRect
Zeigen Sie auf die Position des direkten Steuerelements.

Rückgabewert

Einer der HRESULT-Standardwerte.

Hinweise

Vor der Aktivierung überprüft diese Methode, ob das Steuerelement über eine Clientwebsite verfügt, überprüft, wie viel des Steuerelements sichtbar ist, und ruft die Position des Steuerelements im übergeordneten Fenster ab. Nachdem das Steuerelement aktiviert wurde, aktiviert diese Methode die Benutzeroberfläche des Steuerelements und teilt dem Container mit, das Steuerelement sichtbar zu machen.

Diese Methode ruft auch einen IOleInPlaceSite, IOleInPlaceSiteExoder IOleInPlaceSiteWindowless Schnittstellenzeiger für das Steuerelement ab und speichert ihn im Datenmememm CComControlBase::m_spInPlaceSite der Steuerelementklasse. Die Steuerelementklassendatenmber CComControlBase::m_bInPlaceSiteEx, CComControlBase::m_bWndLess, CComControlBase::m_bWasOnceWindowless und CComControlBase::m_bNegotiatedWnd werden entsprechend auf "true" festgelegt.

CComControlBase::InternalGetSite

Rufen Sie diese Methode auf, um die Kontrollwebsite für einen Zeiger auf die identifizierte Schnittstelle abzufragen.

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

Parameter

riid
Die IID des Schnittstellenzeigers, der in ppUnkSite zurückgegeben werden soll.

ppUnkSite
Adresse der Zeigervariable, die den in riid angeforderten Schnittstellenzeiger empfängt.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

Wenn die Website die in riid angeforderte Schnittstelle unterstützt, wird der Zeiger mithilfe von ppUnkSite zurückgegeben. Andernfalls wird ppUnkSite auf NULL festgelegt.

CComControlBase::m_bAutoSize

Flag, das angibt, dass das Steuerelement keine andere Größe aufweisen kann.

unsigned m_bAutoSize:1;

Hinweise

Dieses Kennzeichen wird von IOleObjectImpl::SetExtent und, wenn WAHR, bewirkt, dass die Funktion E_FAIL zurückgibt.

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Wenn Sie die Option "Automatische Größe " auf der Registerkarte "Aktieneigenschaften " des ATL-Steuerelement-Assistenten hinzufügen, erstellt der Assistent dieses Datenelement automatisch in Ihrer Steuerelementklasse, erstellt Put- und Get-Methoden für die Eigenschaft und unterstützt IPropertyNotifySink , den Container automatisch zu benachrichtigen, wenn sich die Eigenschaft ändert.

CComControlBase::m_bDrawFromNatural

Flag, das angibt, dass IDataObjectImpl::GetData und CComControlBase::GetZoomInfo die Steuerelementgröße m_sizeNatural anstelle von m_sizeExtent.

unsigned m_bDrawFromNatural:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bDrawGetDataInHimetric

Flag, das angibt, dass IDataObjectImpl::GetData beim Zeichnen HIMETRIC-Einheiten und nicht Pixel verwendet werden sollen.

unsigned m_bDrawGetDataInHimetric:1;

Hinweise

Jede logische HIMETRIC-Einheit beträgt 0,01 Millimeter.

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bInPlaceActive

Flag, das angibt, dass das Steuerelement aktiv ist.

unsigned m_bInPlaceActive:1;

Hinweise

Dies bedeutet, dass das Steuerelement sichtbar ist und das zugehörige Fenster ggf. sichtbar ist, die Menüs und Symbolleisten sind jedoch möglicherweise nicht aktiv. Das m_bUIActive Kennzeichen gibt an, dass die Benutzeroberfläche des Steuerelements, z. B. Menüs, ebenfalls aktiv ist.

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bInPlaceSiteEx

Flag, das angibt, dass der Container die IOleInPlaceSiteEx Schnittstellen- und OCX96-Steuerelementfeatures unterstützt, z. B. fensterlose und flackerfreie Steuerelemente.

unsigned m_bInPlaceSiteEx:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Das Datenelement m_spInPlaceSite verweist auf eine IOleInPlaceSite-, IOleInPlaceSiteEx- oder IOleInPlaceSiteWindowless-Schnittstelle , abhängig vom Wert der m_bWndLess Und m_bInPlaceSiteEx Flags. (Das Datenelement m_bNegotiatedWnd muss TRUE sein, damit der m_spInPlaceSite Zeiger gültig ist.)

Wenn m_bWndLess FALSE und m_bInPlaceSiteEx WAHR ist, m_spInPlaceSite handelt es sich um einen IOleInPlaceSiteEx Schnittstellenzeiger. Eine Tabelle mit der Beziehung zwischen diesen drei Datenmembern finden Sie unter m_spInPlaceSite .

CComControlBase::m_bNegotiatedWnd

Flag, das angibt, ob das Steuerelement mit dem Container über die Unterstützung von OCX96-Steuerelementfeatures (z. B. flackerfreie und fensterlose Steuerelemente) ausgehandelt wurde und ob das Steuerelement fensterlos oder fensterlos ist.

unsigned m_bNegotiatedWnd:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Das m_bNegotiatedWnd Kennzeichen muss TRUE sein, damit der m_spInPlaceSite Zeiger gültig ist.

CComControlBase::m_bRecomposeOnResize

Flag, das angibt, dass das Steuerelement seine Präsentation erneut kompensieren möchte, wenn der Container die Anzeigegröße des Steuerelements ändert.

unsigned m_bRecomposeOnResize:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Dieses Flag wird von IOleObjectImpl::SetExtent überprüft, und wenn TRUE, SetExtent benachrichtigt der Container von Ansichtsänderungen. Wenn dieses Flag festgelegt ist, sollte auch das OLEMISC_RECOMPOSEONRESIZE Bit in der OLEMISC-Aufzählung festgelegt werden.

CComControlBase::m_bRequiresSave

Flag, das angibt, dass das Steuerelement seit dem letzten Speichern geändert wurde.

unsigned m_bRequiresSave:1;

Hinweise

Der Wert kann m_bRequiresSave mit CComControlBase::SetDirty festgelegt und mit CComControlBase::GetDirty abgerufen werden.

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bResizeNatural

Flag, das angibt, dass das Steuerelement seine natürliche Größe (seine nicht skalierte physische Größe) ändern möchte, wenn der Container die Anzeigegröße des Steuerelements ändert.

unsigned m_bResizeNatural:1;

Hinweise

Dieses Kennzeichen wird überprüft, IOleObjectImpl::SetExtent und wenn TRUE, wird die übergebene SetExtent Größe zugewiesen m_sizeNatural.

Die übergebene SetExtent Größe wird unabhängig vom Wert m_bResizeNaturalimmer zugewiesenm_sizeExtent.

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bUIActive

Das Kennzeichen, das angibt, dass die Benutzeroberfläche des Steuerelements, z. B. Menüs und Symbolleisten, aktiv ist.

unsigned m_bUIActive:1;

Hinweise

Das m_bInPlaceActive Flag gibt an, dass das Steuerelement aktiv ist, aber nicht, dass die Benutzeroberfläche aktiv ist.

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bUsingWindowRgn

Flag, das angibt, dass das Steuerelement den vom Container bereitgestellten Fensterbereich verwendet.

unsigned m_bUsingWindowRgn:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bWasOnceWindowless

Flag, das angibt, dass das Steuerelement fensterlos war, aber möglicherweise nicht fensterlos ist.

unsigned m_bWasOnceWindowless:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bWindowOnly

Flag, das angibt, dass das Steuerelement angezeigt werden soll, auch wenn der Container fensterlose Steuerelemente unterstützt.

unsigned m_bWindowOnly:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_bWndLess

Flag, das angibt, dass das Steuerelement fensterlos ist.

unsigned m_bWndLess:1;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Der Datenmemm m_spInPlaceSite verweist auf eine IOleInPlaceSite-, IOleInPlaceSiteEx- oder IOleInPlaceSiteWindowless-Schnittstelle , abhängig vom Wert der m_bWndLess Flags "CComControlBase ::m_bInPlaceSiteEx ". (Das Datenelement CComControlBase::m_bNegotiatedWnd muss TRUE sein, damit der CComControlBase::m_spInPlaceSite Zeiger gültig ist.)

Ist m_bWndLess WAHR, m_spInPlaceSite ist ein IOleInPlaceSiteWindowless Schnittstellenzeiger. Eine Tabelle mit der vollständigen Beziehung zwischen diesen Datenmembern finden Sie unter "CComControlBase::m_spInPlaceSite ".

CComControlBase::m_hWndCD

Enthält einen Verweis auf das fensterhandle, das dem Steuerelement zugeordnet ist.

HWND& m_hWndCD;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_nFreezeEvents

Eine Anzahl der Häufigkeit, mit der der Container gefrorene Ereignisse hat (die Annahme von Ereignissen verweigert wurde), ohne dass ereignisse dazwischen geschlagen werden (Annahme von Ereignissen).

short m_nFreezeEvents;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_rcPos

Die Position in Pixeln des Steuerelements, ausgedrückt in den Koordinaten des Containers.

RECT m_rcPos;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_sizeExtent

Der Umfang des Steuerelements in HIMETRIC-Einheiten (jede Einheit beträgt 0,01 Millimeter) für eine bestimmte Anzeige.

SIZE m_sizeExtent;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Diese Größe wird von der Anzeige skaliert. Die physische Größe des Steuerelements wird im m_sizeNatural Datenmememm angegeben und ist fest.

Sie können die Größe mit der globalen Funktion AtlHiMetricToPixel in Pixel konvertieren.

CComControlBase::m_sizeNatural

Die physische Größe des Steuerelements in HIMETRIC-Einheiten (jede Einheit beträgt 0,01 Millimeter).

SIZE m_sizeNatural;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Diese Größe ist fest, während die Größe m_sizeExtent von der Anzeige skaliert wird.

Sie können die Größe mit der globalen Funktion AtlHiMetricToPixel in Pixel konvertieren.

CComControlBase::m_spAdviseSink

Ein direkter Zeiger auf die Empfehlungsverbindung auf dem Container (der IAdviseSink des Containers).

CComPtr<IAdviseSink>
    m_spAdviseSink;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_spAmbientDispatch

Ein CComDispatchDriver Objekt, mit dem Sie die Eigenschaften eines Objekts über einen IDispatch Zeiger abrufen und festlegen können.

CComDispatchDriver m_spAmbientDispatch;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_spClientSite

Ein Zeiger auf den Clientstandort des Steuerelements innerhalb des Containers.

CComPtr<IOleClientSite>
    m_spClientSite;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

CComControlBase::m_spDataAdviseHolder

Stellt eine Standardmethode bereit, um Beratungsverbindungen zwischen Datenobjekten zu halten und Senken zu beraten.

CComPtr<IDataAdviseHolder>
    m_spDataAdviseHolder;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Ein Datenobjekt ist ein Steuerelement, das Daten übertragen kann und IDataObject implementiert, dessen Methoden das Format angeben und das Medium der Daten übertragen.

Die Schnittstelle m_spDataAdviseHolder implementiert die Methoden "IDataObject::D Advise " und "IDataObject::D Unadvise ", um Beratungsverbindungen mit dem Container einzurichten und zu löschen. Der Container des Steuerelements muss eine Empfehlungsspüle implementieren, indem die IAdviseSink-Schnittstelle unterstützt wird.

CComControlBase::m_spInPlaceSite

Ein Zeiger auf den IOleInPlaceSite-, IOleInPlaceSiteEx- oder IOleInPlaceSiteWindowless-Schnittstellenzeiger .

CComPtr<IOleInPlaceSiteWindowless>
    m_spInPlaceSite;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Der m_spInPlaceSite Zeiger ist nur gültig, wenn das m_bNegotiatedWnd Flag WAHR ist.

In der folgenden Tabelle wird gezeigt, wie der m_spInPlaceSite Zeigertyp von den m_bWndLess - und m_bInPlaceSiteEx Datenmememingkennzeichnungen abhängt:

m_spInPlaceSite Typ m_bWndLess Wert m_bInPlaceSiteEx Wert
IOleInPlaceSiteWindowless TRUE TRUE oder FALSE
IOleInPlaceSiteEx FALSE true
IOleInPlaceSite false FALSE

CComControlBase::m_spOleAdviseHolder

Bietet eine Standardimplementierung einer Möglichkeit zum Halten von Beratungsverbindungen.

CComPtr<IOleAdviseHolder>
    m_spOleAdviseHolder;

Hinweise

Hinweis

Um dieses Datenelement in Ihrer Steuerelementklasse zu verwenden, müssen Sie es als Datenmemmemm in Ihrer Steuerelementklasse deklarieren. Ihre Steuerelementklasse erbt dieses Datenmember nicht von der Basisklasse, da es in einer Union in der Basisklasse deklariert wird.

Die Schnittstelle m_spOleAdviseHolder implementiert die Methoden "IOleObject::Advise " und "IOleObject::Unadvise ", um Beratungsverbindungen mit dem Container einzurichten und zu löschen. Der Container des Steuerelements muss eine Empfehlungsspüle implementieren, indem die IAdviseSink-Schnittstelle unterstützt wird.

CComControlBase::OnDraw

Überschreiben Sie diese Methode, um Das Steuerelement zu zeichnen.

virtual HRESULT OnDraw(ATL_DRAWINFO& di);

Parameter

Di
Ein Verweis auf die ATL_DRAWINFO Struktur, die Zeichnungsinformationen enthält, z. B. den Zeichnungsaspekt, die Grenzen des Steuerelements und ob die Zeichnung optimiert ist oder nicht.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die Standardeinstellung OnDraw löscht oder stellt den Gerätekontext wieder her oder führt nichts aus, je nachdem, welche Flags in CComControlBase::OnDrawAdvanced festgelegt sind.

Beim Erstellen des Steuerelements mit dem ATL-Steuerelement-Assistenten wird der Steuerelementklasse automatisch eine OnDraw Methode hinzugefügt. Die Standardeinstellung OnDraw des Assistenten zeichnet ein Rechteck mit der Beschriftung "ATL 8.0".

Beispiel

Sehen Sie sich das Beispiel für CComControlBase::GetAmbientAppearance an.

CComControlBase::OnDrawAdvanced

Der Standardwert OnDrawAdvanced bereitet einen normalisierten Gerätekontext für die Zeichnung vor und ruft dann die Methode der Steuerelementklasse OnDraw auf.

virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);

Parameter

Di
Ein Verweis auf die ATL_DRAWINFO Struktur, die Zeichnungsinformationen enthält, z. B. den Zeichnungsaspekt, die Grenzen des Steuerelements und ob die Zeichnung optimiert ist oder nicht.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Überschreiben Sie diese Methode, wenn Sie den vom Container übergebenen Gerätekontext akzeptieren möchten, ohne ihn zu normalisieren.

Weitere Informationen finden Sie unter CComControlBase::OnDraw .

CComControlBase::OnKillFocus

Überprüft, ob das Steuerelement aktiv ist und über einen gültigen Steuerelementstandort verfügt, und informiert dann den Container, dass das Steuerelement den Fokus verloren hat.

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

Parameter

nMsg
Reserviert.

wParam
Reserviert.

lParam
Reserviert.

bHandled
Flag, das angibt, ob die Fensternachricht erfolgreich verarbeitet wurde. Der Standardwert lautet FALSE.

Rückgabewert

Gibt immer 1 zurück.

CComControlBase::OnMouseActivate

Überprüft, ob sich die Benutzeroberfläche im Benutzermodus befindet, und aktiviert dann das Steuerelement.

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

Parameter

nMsg
Reserviert.

wParam
Reserviert.

lParam
Reserviert.

bHandled
Flag, das angibt, ob die Fensternachricht erfolgreich verarbeitet wurde. Der Standardwert lautet FALSE.

Rückgabewert

Gibt immer 1 zurück.

CComControlBase::OnPaint

Bereitet den Container für das Zeichnen vor, ruft den Clientbereich des Steuerelements ab und ruft dann die Methode der Steuerelementklasse OnDrawAdvanced auf.

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

Parameter

nMsg
Reserviert.

wParam
Ein vorhandenes HDC.

lParam
Reserviert.

lResult
Reserviert.

Rückgabewert

Es wird immer NULL zurückgegeben.

Hinweise

Wenn wParam nicht NULL ist, wird davon ausgegangen, OnPaint dass es einen gültigen HDC enthält und anstelle von CComControlBase::m_hWndCD verwendet wird.

CComControlBase::OnSetFocus

Überprüft, ob das Steuerelement aktiv ist und über einen gültigen Kontrollstandort verfügt, und informiert den Container, dass das Steuerelement den Fokus erlangt hat.

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

Parameter

nMsg
Reserviert.

wParam
Reserviert.

lParam
Reserviert.

bHandled
Flag, das angibt, ob die Fensternachricht erfolgreich verarbeitet wurde. Der Standardwert lautet FALSE.

Rückgabewert

Gibt immer 1 zurück.

Hinweise

Sendet eine Benachrichtigung an den Container, dass das Steuerelement den Fokus erhalten hat.

CComControlBase::P reTranslateAccelerator

Überschreiben Sie diese Methode, um Eigene Zugriffstastenhandler bereitzustellen.

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

Parameter

pMsg
Reserviert.

hRet
Reserviert.

Rückgabewert

Standardmäßig wird FALSE zurückgegeben.

CComControlBase::SendOnClose

Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass die Kontrolle geschlossen wurde.

HRESULT SendOnClose();

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

Sendet eine Benachrichtigung, dass das Steuerelement seine Beratenden Senken geschlossen hat.

CComControlBase::SendOnDataChange

Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass sich die Kontrolldaten geändert haben.

HRESULT SendOnDataChange(DWORD advf = 0);

Parameter

advf
Empfehlen Sie Flags, die angeben, wie der Aufruf von IAdviseSink::OnDataChange erfolgt. Werte stammen aus der ADVF-Aufzählung .

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

CComControlBase::SendOnRename

Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass die Kontrolle über einen neuen Moniker verfügt.

HRESULT SendOnRename(IMoniker* pmk);

Parameter

Pmk
Zeigen Sie auf den neuen Moniker des Steuerelements.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

Sendet eine Benachrichtigung, dass der Moniker für das Steuerelement geändert wurde.

CComControlBase::SendOnSave

Benachrichtigt alle bei dem Beratungsinhaber registrierten Beratungssenken, dass die Kontrolle gespeichert wurde.

HRESULT SendOnSave();

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

Sendet eine Benachrichtigung, dass das Steuerelement gerade seine Daten gespeichert hat.

CComControlBase::SendOnViewChange

Benachrichtigt alle registrierten Beratungssenken, dass sich die Ansicht des Steuerelements geändert hat.

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

Parameter

Dwaspect
Der Aspekt oder die Ansicht des Steuerelements.

Lindex
Der Teil der Ansicht, der geändert wurde. Nur -1 ist gültig.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

SendOnViewChange ruft IAdviseSink::OnViewChange auf. Der einzige zurzeit unterstützte Lindex-Wert ist -1, was angibt, dass die gesamte Ansicht von Interesse ist.

CComControlBase::SetControlFocus

Legt den Tastaturfokus auf oder aus dem Steuerelement fest oder entfernt sie.

BOOL SetControlFocus(BOOL bGrab);

Parameter

bGrab
Wenn TRUE, legt den Tastaturfokus auf das aufrufende Steuerelement fest. Wenn FALSE, wird der Tastaturfokus aus dem aufrufenden Steuerelement entfernt, sofern er den Fokus hat.

Rückgabewert

Gibt WAHR zurück, wenn das Steuerelement erfolgreich den Fokus erhält; andernfalls FALSE.

Hinweise

Für ein Fenstersteuerelement wird die Windows-API-Funktion SetFocus aufgerufen. Für ein fensterloses Steuerelement wird IOleInPlaceSiteWindowless::SetFocus aufgerufen. Durch diesen Aufruf erhält ein fensterloses Steuerelement den Tastaturfokus und kann auf Fenstermeldungen reagieren.

CComControlBase::SetDirty

Legt das Datenelement m_bRequiresSave auf den Wert in bDirty fest.

void SetDirty(BOOL bDirty);

Parameter

bDirty
Wert des Datenelements CComControlBase::m_bRequiresSave.

Hinweise

SetDirty(TRUE) sollte aufgerufen werden, um zu kennzeichnen, dass sich das Steuerelement seit dem letzten Speichern geändert hat. Der Wert von m_bRequiresSave wird mit CComControlBase::GetDirty abgerufen.

Siehe auch

CComControl-Klasse
Klassenübersicht