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 short ist. |
Ö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-Parameter IOleObjectImpl::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_bRequiresSave zurü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 short
ist.
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 DoVerb
angibt.
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-Parameter IOleObjectImpl::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 DoVerb
angibt.
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_bRequiresSave
zurü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
, IOleInPlaceSiteEx
oder 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_bResizeNatural
immer 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.