COleControlSite-Klasse
Stellt Unterstützung für benutzerdefinierte clientseitige Steuerelement-Schnittstellen bereit.
Syntax
class COleControlSite : public CCmdTarget
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
COleControlSite::COleControlSite | Erstellt ein COleControlSite -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
COleControlSite::BindDefaultProperty | Bindet die Standardeigenschaft des gehosteten Steuerelements an eine Datenquelle. |
COleControlSite::BindProperty | Bindet eine Eigenschaft des gehosteten Steuerelements an eine Datenquelle. |
COleControlSite::CreateControl | Erstellt ein gehostetes ActiveX-Steuerelement. |
COleControlSite::D estroyControl | Zerstört das gehostete Steuerelement. |
COleControlSite::D oVerb | Führt ein bestimmtes Verb des gehosteten Steuerelements aus. |
COleControlSite::EnableDSC | Ermöglicht die Datenbeschaffung für eine Steuerelementwebsite. |
COleControlSite::EnableWindow | Aktiviert die Steuerelementwebsite. |
COleControlSite::FreezeEvents | Gibt an, ob die Steuerelementwebsite Ereignisse akzeptiert. |
COleControlSite::GetDefBtnCode | Ruft den Standardschaltflächencode für das gehostete Steuerelement ab. |
COleControlSite::GetDlgCtrlID | Ruft den Bezeichner des Steuerelements ab. |
COleControlSite::GetEventIID | Ruft die ID einer Ereignisschnittstelle für ein gehostetes Steuerelement ab. |
COleControlSite::GetExStyle | Ruft die erweiterten Formatvorlagen der Steuerelementwebsite ab. |
COleControlSite::GetProperty | Ruft eine bestimmte Eigenschaft des gehosteten Steuerelements ab. |
COleControlSite::GetStyle | Ruft die Stile der Steuerelementwebsite ab. |
COleControlSite::GetWindowText | Ruft den Text des gehosteten Steuerelements ab. |
COleControlSite::InvokeHelper | Rufen Sie eine bestimmte Methode des gehosteten Steuerelements auf. |
COleControlSite::InvokeHelperV | Rufen Sie eine bestimmte Methode des gehosteten Steuerelements mit einer variablen Liste von Argumenten auf. |
COleControlSite::IsDefaultButton | Bestimmt, ob das Steuerelement die Standardschaltfläche im Fenster ist. |
COleControlSite::IsWindowEnabled | Überprüft den sichtbaren Zustand der Steuerelementwebsite. |
COleControlSite::ModifyStyle | Ändert die aktuellen erweiterten Formatvorlagen der Steuerelementwebsite. |
COleControlSite::ModifyStyleEx | Ändert die aktuellen Formatvorlagen der Steuerelementwebsite. |
COleControlSite::MoveWindow | Ändert die Position der Steuerelementwebsite. |
COleControlSite::QuickActivate | Schnellaktiviert das gehostete Steuerelement. |
COleControlSite::SafeSetProperty | Legt eine Eigenschaft oder Methode des Steuerelements fest, ohne dass eine Ausnahme ausgelöst werden kann. |
COleControlSite::SetDefaultButton | Legt die Standardschaltfläche im Fenster fest. |
COleControlSite::SetDlgCtrlID | Ruft den Bezeichner des Steuerelements ab. |
COleControlSite::SetFocus | Legt den Fokus auf die Steuerelementwebsite fest. |
COleControlSite::SetProperty | Legt eine bestimmte Eigenschaft des gehosteten Steuerelements fest. |
COleControlSite::SetPropertyV | Legt eine bestimmte Eigenschaft des gehosteten Steuerelements mit einer variablen Liste von Argumenten fest. |
COleControlSite::SetWindowPos | Legt die Position der Steuerelementwebsite fest. |
COleControlSite::SetWindowText | Legt den Text des gehosteten Steuerelements fest. |
COleControlSite::ShowWindow | Blendet die Steuerelementwebsite ein oder aus. |
Geschützte Methoden
Name | Beschreibung |
---|---|
COleControlSite::GetControlInfo | Ruft Tastaturinformationen und Mnemonics für das gehostete Steuerelement ab. |
Öffentliche Datenmember
Name | Beschreibung |
---|---|
COleControlSite::m_bIsWindowless | Bestimmt, ob das gehostete Steuerelement ein fensterloses Steuerelement ist. |
COleControlSite::m_ctlInfo | Enthält Informationen zur Tastaturbehandlung für das Steuerelement. |
COleControlSite::m_dwEventSink | Das Cookie des Verbindungspunkts des Steuerelements. |
COleControlSite::m_dwMiscStatus | Die verschiedenen Status für das gehostete Steuerelement. |
COleControlSite::m_dwPropNotifySink | Das IPropertyNotifySink Cookie des Steuerelements. |
COleControlSite::m_dwStyle | Die Stile des gehosteten Steuerelements. |
COleControlSite::m_hWnd | Das Handle der Steuerelementwebsite. |
COleControlSite::m_iidEvents | Die ID der Ereignisschnittstelle für das gehostete Steuerelement. |
COleControlSite::m_nID | Die ID des gehosteten Steuerelements. |
COleControlSite::m_pActiveObject | Ein Zeiger auf das IOleInPlaceActiveObject Objekt des gehosteten Steuerelements. |
COleControlSite::m_pCtrlCont | Der Container des gehosteten Steuerelements. |
COleControlSite::m_pInPlaceObject | Ein Zeiger auf das IOleInPlaceObject Objekt des gehosteten Steuerelements. |
COleControlSite::m_pObject | Ein Zeiger auf die IOleObjectInterface Schnittstelle des Steuerelements. |
COleControlSite::m_pWindowlessObject | Ein Zeiger auf die IOleInPlaceObjectWindowless Schnittstelle des Steuerelements. |
COleControlSite::m_pWndCtrl | Ein Zeiger auf das Fensterobjekt für das gehostete Steuerelement. |
COleControlSite::m_rect | Die Abmessungen der Steuerelementwebsite. |
Hinweise
Diese Unterstützung ist die primäre Möglichkeit, mit der ein eingebettetes ActiveX-Steuerelement Informationen über die Position und den Umfang seiner Anzeigewebsite, seinen Moniker, seine Benutzeroberfläche, seine Umgebungseigenschaften und andere Vom Container bereitgestellte Ressourcen abruft. COleControlSite
implementiert vollständig die IOleControlSite-, IOleInPlaceSite-, IOleClientSite-, IPropertyNotifySink-, IBoundObjectSite
, INotifyDBEvents
IRowSetNotify-Schnittstellen. Darüber hinaus wird die IDispatch-Schnittstelle (die Unterstützung für Umgebungseigenschaften und Ereignissenken bereitstellt) ebenfalls implementiert.
Um eine ActiveX-Steuerelementwebsite mithilfe COleControlSite
einer Klasse zu erstellen, leiten Sie eine Klasse von COleControlSite
. Überschreiben Sie in der CWnd
abgeleiteten Klasse für den Container (z. B. das Dialogfeld) die CWnd::CreateControlSite
Funktion.
Vererbungshierarchie
COleControlSite
Anforderungen
Kopfzeile: afxocc.h
COleControlSite::BindDefaultProperty
Bindet die standardmäßige einfache gebundene Eigenschaft des aufrufenden Objekts, wie in der Typbibliothek markiert, an den zugrunde liegenden Cursor, der von den Eigenschaften DataSource, UserName, Password und SQL des Datenquellensteuerelements definiert wird.
virtual void BindDefaultProperty(
DISPID dwDispID,
VARTYPE vtProp,
LPCTSTR szFieldName,
CWnd* pDSCWnd);
Parameter
dwDispID
Gibt die DISPID einer Eigenschaft für ein datengebundenes Steuerelement an, das an ein Datenquellensteuerelement gebunden werden soll.
vtProp
Gibt den Typ der eigenschaft an, die gebunden werden soll , z. B. VT_BSTR, VT_VARIANT usw.
szFieldName
Gibt den Namen der Spalte im Cursor an, der vom Datenquellensteuerelement bereitgestellt wird, an das die Eigenschaft gebunden wird.
pDSCWnd
Ein Zeiger auf das CWnd
-abgeleitete Objekt, das das Datenquellensteuerelement hostt, an das die Eigenschaft gebunden wird.
Hinweise
Das CWnd
Objekt, für das Sie diese Funktion aufrufen, muss ein datengebundenes Steuerelement sein.
COleControlSite::BindProperty
Bindet die einfache gebundene Eigenschaft des aufrufenden Objekts, wie in der Typbibliothek markiert, an den zugrunde liegenden Cursor, der von den Eigenschaften DataSource, UserName, Password und SQL des Datenquellensteuerelements definiert wird.
virtual void BindProperty(
DISPID dwDispId,
CWnd* pWndDSC);
Parameter
dwDispId
Gibt die DISPID einer Eigenschaft für ein datengebundenes Steuerelement an, das an ein Datenquellensteuerelement gebunden werden soll.
pWndDSC
Ein Zeiger auf das CWnd
-abgeleitete Objekt, das das Datenquellensteuerelement hostt, an das die Eigenschaft gebunden wird.
Hinweise
Das CWnd
Objekt, für das Sie diese Funktion aufrufen, muss ein datengebundenes Steuerelement sein.
COleControlSite::COleControlSite
Erstellt ein neues COleControlSite
-Objekt.
explicit COleControlSite(COleControlContainer* pCtrlCont);
Parameter
pCtrlCont
Ein Zeiger auf den Container des Steuerelements (das das Fenster darstellt, das das AtiveX-Steuerelement hostet).
Hinweise
Diese Funktion wird von der COccManager::CreateContainer-Funktion aufgerufen. Weitere Informationen zum Anpassen der Erstellung von Containern finden Sie unter COccManager::CreateSite.
COleControlSite::CreateControl
Erstellt ein ActiveX-Steuerelement, das vom COleControlSite
Objekt gehostet wird.
virtual HRESULT CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
virtual HRESULT CreateControl(
CWnd* pWndCtrl,
REFCLSID clsid,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
Parameter
pWndCtrl
Ein Zeiger auf das Fensterobjekt, das das Steuerelement darstellt.
clsid
Die eindeutige Klassen-ID des Steuerelements.
lpszWindowName
Ein Zeiger auf den Text, der im Steuerelement angezeigt werden soll. Legt den Wert der Eigenschaft "Caption" oder "Text" (sofern vorhanden) fest.
dwStyle
Windows-Formatvorlagen. Die verfügbaren Formatvorlagen werden im Abschnitt "Hinweise " aufgeführt.
rect
Gibt die Größe und Position des Steuerelements an. Dabei kann es sich um ein CRect
Objekt oder eine RECT
Struktur handeln.
Nid
Gibt die untergeordnete Fenster-ID des Steuerelements an.
pPersist
Ein Zeiger auf einen CFile
, der den permanenten Zustand für das Steuerelement enthält. Der Standardwert ist NULL, der angibt, dass das Steuerelement sich selbst initialisiert, ohne den Zustand aus einem dauerhaften Speicher wiederherzustellen. Wenn nicht NULL, sollte es sich um einen Zeiger auf ein CFile
abgeleitetes Objekt handeln, das die persistenten Daten des Steuerelements enthält, in Form eines Datenstroms oder eines Speichers. Diese Daten konnten in einer vorherigen Aktivierung des Clients gespeichert werden. Dies CFile
kann andere Daten enthalten, muss jedoch den Lese-/Schreibzeiger auf das erste Byte persistenter Daten zum Zeitpunkt des Aufrufs CreateControl
festgelegt haben.
bStorage
Gibt an, ob die Daten in pPersist als IStorage
oder IStream
Daten interpretiert werden sollen. Wenn die Daten in pPersist ein Speicher sind, sollte bStorage TRUE sein. Wenn es sich bei den Daten in pPersist um einen Datenstrom handelt, sollte bStorage FALSE sein. Der Standardwert ist FALSCH.
bstrLicKey
Optionale Lizenzschlüsseldaten. Diese Daten werden nur zum Erstellen von Steuerelementen benötigt, für die ein Laufzeitlizenzschlüssel erforderlich ist. Wenn das Steuerelement die Lizenzierung unterstützt, müssen Sie einen Lizenzschlüssel angeben, damit das Steuerelement erfolgreich erstellt werden kann. Der Standardwert ist NULL.
Ppt
Ein Zeiger auf eine POINT
Struktur, die die obere linke Ecke des Steuerelements enthält. Die Größe des Steuerelements wird durch den Wert " psize" bestimmt. Die Ppt - und psize-Werte sind eine optionale Methode zum Angeben der Größe und Position des Steuerelements.
psize
Ein Zeiger auf eine SIZE
Struktur, die die Größe des Steuerelements enthält. Die obere linke Ecke wird durch den Wert von ppt bestimmt. Die Ppt - und psize-Werte sind eine optionale Methode zum Angeben der Größe und Position des Steuerelements.
Rückgabewert
Ein HRESULT-Standardwert.
Hinweise
Es werden nur eine Teilmenge der Windows dwStyle-Flags unterstützt:CreateControl
WS_VISIBLE Erstellt ein anfangs sichtbares Fenster. Erforderlich, wenn das Steuerelement sofort sichtbar sein soll, z. B. normale Fenster.
WS_DISABLED Erstellt ein anfangs deaktiviertes Fenster. Ein deaktiviertes Fenster kann keine Eingaben vom Benutzer empfangen. Kann festgelegt werden, wenn das Steuerelement über eine Enabled-Eigenschaft verfügt.
WS_BORDER Erstellt ein Fenster mit einem dünnen Rahmen. Kann festgelegt werden, wenn das Steuerelement über eine BorderStyle-Eigenschaft verfügt.
WS_GROUP Gibt das erste Steuerelement einer Gruppe von Steuerelementen an. Der Benutzer kann den Tastaturfokus mithilfe der Richtungstasten von einem Steuerelement in der Gruppe zum nächsten ändern. Alle Steuerelemente, die nach dem ersten Steuerelement mit der WS_GROUP Formatvorlage definiert sind, gehören derselben Gruppe an. Das nächste Steuerelement mit der WS_GROUP Formatvorlage beendet die Gruppe und startet die nächste Gruppe.
WS_TABSTOP Gibt ein Steuerelement an, das den Tastaturfokus erhalten kann, wenn der Benutzer die TAB-TASTE drückt. Durch Drücken der TAB-TASTE wird der Tastaturfokus auf das nächste Steuerelement der WS_TABSTOP Formatvorlage geändert.
Verwenden Sie die zweite Überladung, um Standardsteuerelemente zu erstellen.
COleControlSite::D estroyControl
Zerstört das COleControlSite
-Objekt.
virtual BOOL DestroyControl();
Rückgabewert
Wenn dies erfolgreich ist, andernfalls 0.
Hinweise
Nach Abschluss des Vorgangs wird das Objekt aus dem Arbeitsspeicher freigegeben, und alle Zeiger auf das Objekt sind nicht mehr gültig.
COleControlSite::D oVerb
Führt das angegebene Verb aus.
virtual HRESULT DoVerb(
LONG nVerb,
LPMSG lpMsg = NULL);
Parameter
nVerb
Gibt das auszuführende Verb an. Sie kann eine der folgenden Elemente enthalten:
Wert | Bedeutung | Symbol |
---|---|---|
0 | Primäres Verb | OLEIVERB_PRIMARY |
-1 | Sekundäres Verb | (Keine) |
1 | Zeigt das Objekt zum Bearbeiten an. | OLEIVERB_SHOW |
-2 | Bearbeitet das Element in einem separaten Fenster. | OLEIVERB_OPEN |
3- | Blendet das Objekt aus. | OLEIVERB_HIDE |
-4 | Aktiviert ein Steuerelement an einem ortsinternen Steuerelement. | OLEIVERB_UIACTIVATE |
-5 | Aktiviert ein Steuerelement direkt ohne zusätzliche Benutzeroberflächenelemente. | OLEIVERB_INPLACEACTIVATE |
-7 | Zeigen Sie die Eigenschaften des Steuerelements an. | OLEIVERB_PROPERTIES |
lpMsg
Zeigen Sie auf die Nachricht, die dazu führte, dass das Element aktiviert wurde.
Rückgabewert
Ein HRESULT-Standardwert.
Hinweise
Diese Funktion ruft direkt über die Schnittstelle des Steuerelements IOleObject
auf, um das angegebene Verb auszuführen. Wenn eine Ausnahme aufgrund dieses Funktionsaufrufs ausgelöst wird, wird ein HRESULT-Fehlercode zurückgegeben.
Weitere Informationen finden Sie unter "IOleObject::D oVerb " im Windows SDK.
COleControlSite::EnableDSC
Ermöglicht die Datenbeschaffung für die Kontrollwebsite.
virtual void EnableDSC();
Hinweise
Vom Framework aufgerufen, um die Datenbeschaffung für die Kontrollwebsite zu aktivieren und zu initialisieren. Überschreiben Sie diese Funktion, um ein angepasstes Verhalten bereitzustellen.
COleControlSite::EnableWindow
Aktiviert oder deaktiviert Maus- und Tastatureingaben an der Steuerungswebsite.
virtual BOOL EnableWindow(BOOL bEnable);
Parameter
bEnable
Gibt an, ob das Fenster aktiviert oder deaktiviert werden soll: TRUE, wenn die Fenstereingabe aktiviert werden soll, andernfalls FALSE.
Rückgabewert
Nonzero, wenn das Fenster zuvor deaktiviert wurde, andernfalls 0.
COleControlSite::FreezeEvents
Gibt an, ob die Steuerelementwebsite Ereignisse behandelt oder ignoriert, die von einem Steuerelement ausgelöst werden.
void FreezeEvents(BOOL bFreeze);
Parameter
bFreeze
Gibt an, ob die Steuerelementsite das Akzeptieren von Ereignissen beenden möchte. Nonzero, wenn das Steuerelement keine Ereignisse akzeptiert; andernfalls 0.
Hinweise
Wenn bFreeze TRUE ist, fordert die Steuerelementwebsite das Steuerelement an, das Auslösen von Ereignissen zu beenden. Wenn bFreeze FALSE ist, fordert die Steuerelementwebsite das Steuerelement auf, das Auslösen von Ereignissen fortzusetzen.
Hinweis
Das Steuerelement ist nicht erforderlich, um das Auslösen von Ereignissen zu beenden, wenn dies von der Steuerelementwebsite angefordert wird. Das Auslösen kann fortgesetzt werden, aber alle nachfolgenden Ereignisse werden von der Steuerelementwebsite ignoriert.
COleControlSite::GetControlInfo
Ruft Informationen zum Mnemonics- und Tastaturverhalten eines Steuerelements ab.
void GetControlInfo();
Hinweise
Die Informationen werden in COleControlSite::m_ctlInfo gespeichert.
COleControlSite::GetDefBtnCode
Bestimmt, ob es sich bei dem Steuerelement um eine Standardtaste handelt.
DWORD GetDefBtnCode();
Rückgabewert
Folgenden Werte sind möglich:
DLGC_DEFPUSHBUTTON Steuerelement ist die Standardschaltfläche im Dialogfeld.
DLGC_UNDEFPUSHBUTTON Steuerelement ist nicht die Standardschaltfläche im Dialogfeld.
0 Steuerelement ist keine Schaltfläche.
COleControlSite::GetDlgCtrlID
Ruft den Bezeichner des Steuerelements ab.
virtual int GetDlgCtrlID() const;
Rückgabewert
Der Dialogfeldelementbezeichner des Steuerelements.
COleControlSite::GetEventIID
Ruft einen Zeiger auf die Standardereignisschnittstelle des Steuerelements ab.
BOOL GetEventIID(IID* piid);
Parameter
piid
Ein Zeiger auf eine Schnittstellen-ID.
Rückgabewert
Wenn dies erfolgreich ist, andernfalls 0. Bei erfolgreicher Ausführung enthält piid die Schnittstellen-ID für die Standardereignisschnittstelle des Steuerelements.
COleControlSite::GetExStyle
Ruft die erweiterten Formatvorlagen des Fensters ab.
virtual DWORD GetExStyle() const;
Rückgabewert
Die erweiterten Formatvorlagen des Steuerelementfensters.
Hinweise
Rufen Sie zum Abrufen der regulären Formatvorlagen COleControlSite::GetStyle auf.
COleControlSite::GetProperty
Ruft die durch dwDispID angegebene Steuerelementeigenschaft ab.
virtual void GetProperty(
DISPID dwDispID,
VARTYPE vtProp,
void* pvProp) const;
Parameter
dwDispID
Gibt die Verteiler-ID der Eigenschaft an, die auf der Standardschnittstelle IDispatch
des Steuerelements gefunden wird, die abgerufen werden soll.
vtProp
Gibt den Typ der abzurufenden Eigenschaft an. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
pvProp
Adresse der Variablen, die den Eigenschaftswert erhält. Er muss mit dem durch vtProp angegebenen Typ übereinstimmen.
Hinweise
Der Wert wird über pvProp zurückgegeben.
COleControlSite::GetStyle
Ruft die Stile der Steuerelementwebsite ab.
virtual DWORD GetStyle() const;
Rückgabewert
Die Formatvorlagen des Fensters.
Hinweise
Eine Liste der möglichen Werte finden Sie unter Windows Styles. Rufen Sie COleControlSite::GetExStyle auf, um die erweiterten Stile der Steuerelementwebsite abzurufen.
COleControlSite::GetWindowText
Ruft den aktuellen Text des Steuerelements ab.
virtual void GetWindowText(CString& str) const;
Parameter
str
Ein Verweis auf ein CString
Objekt, das den aktuellen Text des Steuerelements enthält.
Hinweise
Wenn das Steuerelement die Caption-Aktieneigenschaft unterstützt, wird dieser Wert zurückgegeben. Wenn die Caption-Aktieneigenschaft nicht unterstützt wird, wird der Wert für die Text-Eigenschaft zurückgegeben.
COleControlSite::InvokeHelper
Ruft die von dwDispID angegebene Methode oder Eigenschaft im durch wFlags angegebenen Kontext auf.
virtual void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo, ...);
Parameter
dwDispID
Gibt die Verteiler-ID der Eigenschaft oder Methode an, die auf der Schnittstelle des Steuerelements IDispatch
gefunden wird, die aufgerufen werden soll.
wFlags
Flags, die den Kontext des Aufrufs von IDispatch::Invokebeschreiben. Mögliche wFlags-Werte finden Sie IDispatch::Invoke
im Windows SDK.
vtRet
Gibt den Typ des Rückgabewerts an. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
pvRet
Die Adresse der Variablen, die den Eigenschaftswert oder Rückgabewert aufnimmt. Er muss mit dem von vtRet angegebenen Typ übereinstimmen.
pbParamInfo
Zeigen Sie auf eine mit Null beendete Zeichenfolge mit Bytes, die die Typen der Parameter nach pbParamInfo angibt. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
...
Variable Liste der Parameter, von Typen, die in pbParamInfo angegeben sind.
Hinweise
Der PbParamInfo-Parameter gibt die Typen der Parameter an, die an die Methode oder Eigenschaft übergeben werden. Die variable Argumentliste wird in der Syntaxdeklaration durch ... dargestellt.
Diese Funktion konvertiert die Parameter in VARIANTARG-Werte und ruft dann die IDispatch::Invoke
Methode für das Steuerelement auf. Bei einem Fehler des Aufrufs von IDispatch::Invoke
löst diese Funktion eine Ausnahme aus. Wenn der von IDispatch::Invoke
diesem zurückgegebene Statuscode zurückgegeben wird DISP_E_EXCEPTION
, löst diese Funktion ein COleDispatchException
Objekt aus, andernfalls wird ein COleException
.
COleControlSite::InvokeHelperV
Ruft die von dwDispID angegebene Methode oder Eigenschaft im durch wFlags angegebenen Kontext auf.
virtual void InvokeHelperV(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo,
va_list argList);
Parameter
dwDispID
Gibt die Verteiler-ID der Eigenschaft oder Methode an, die auf der Schnittstelle des Steuerelements IDispatch
gefunden wird, die aufgerufen werden soll.
wFlags
Flags, die den Kontext des Aufrufs von IDispatch::Invokebeschreiben.
vtRet
Gibt den Typ des Rückgabewerts an. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
pvRet
Die Adresse der Variablen, die den Eigenschaftswert oder Rückgabewert aufnimmt. Er muss mit dem von vtRet angegebenen Typ übereinstimmen.
pbParamInfo
Zeigen Sie auf eine mit Null beendete Zeichenfolge mit Bytes, die die Typen der Parameter nach pbParamInfo angibt. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
argList
Zeiger auf eine variable Argumentliste.
Hinweise
Der PbParamInfo-Parameter gibt die Typen der Parameter an, die an die Methode oder Eigenschaft übergeben werden. Zusätzliche Parameter für die aufgerufene Methode oder Eigenschaft können mithilfe des va_list-Parameters übergeben werden.
In der Regel wird diese Funktion von COleControlSite::InvokeHelper
.
COleControlSite::IsDefaultButton
Bestimmt, ob das Steuerelement die Standardschaltfläche ist.
BOOL IsDefaultButton();
Rückgabewert
Nonzero, wenn das Steuerelement die Standardschaltfläche im Fenster ist, andernfalls Null.
COleControlSite::IsWindowEnabled
Bestimmt, ob die Steuerelementwebsite aktiviert ist.
virtual BOOL IsWindowEnabled() const;
Rückgabewert
Nonzero, wenn das Steuerelement aktiviert ist, andernfalls 0.
Hinweise
Der Wert wird aus der Enabled-Aktieneigenschaft des Steuerelements abgerufen.
COleControlSite::m_bIsWindowless
Bestimmt, ob das Objekt ein fensterloses Steuerelement ist.
BOOL m_bIsWindowless;
Hinweise
Nonzero, wenn das Steuerelement kein Fenster aufweist, andernfalls Null.
COleControlSite::m_ctlInfo
Informationen dazu, wie die Tastatureingabe vom Steuerelement behandelt wird.
CONTROLINFO m_ctlInfo;
Hinweise
Diese Informationen werden in einer CONTROLINFO-Struktur gespeichert.
COleControlSite::m_dwEventSink
Enthält das Cookie des Verbindungspunkts aus der Ereignissenke des Steuerelements.
DWORD m_dwEventSink;
COleControlSite::m_dwMiscStatus
Enthält verschiedene Informationen zum Steuerelement.
DWORD m_dwMiscStatus;
Hinweise
Weitere Informationen finden Sie unter OLEMISCim Windows SDK.
COleControlSite::m_dwPropNotifySink
Enthält das IPropertyNotifySink-Cookie .
DWORD m_dwPropNotifySink;
COleControlSite::m_dwStyle
Enthält die Fensterformatvorlagen des Steuerelements.
DWORD m_dwStyle;
COleControlSite::m_hWnd
Enthält den HWND des Steuerelements oder NULL, wenn das Steuerelement fensterlos ist.
HWND m_hWnd;
COleControlSite::m_iidEvents
Enthält die Schnittstellen-ID der Standardereignis-Sink-Schnittstelle des Steuerelements.
IID m_iidEvents;
COleControlSite::m_nID
Enthält die Dialogfeldelement-ID des Steuerelements.
UINT m_nID;
COleControlSite::m_pActiveObject
Enthält die IOleInPlaceActiveObject-Schnittstelle des Steuerelements.
LPOLEINPLACEACTIVEOBJECT m_pActiveObject;
COleControlSite::m_pCtrlCont
Enthält den Container des Steuerelements (das Formular darstellt).
COleControlContainer* m_pCtrlCont;
COleControlSite::m_pInPlaceObject
Enthält die IOleInPlaceObject
IOleInPlaceObject-Schnittstelle des Steuerelements.
LPOLEINPLACEOBJECT m_pInPlaceObject;
COleControlSite::m_pObject
Enthält die IOleObjectInterface
Schnittstelle des Steuerelements.
LPOLEOBJECT m_pObject;
COleControlSite::m_pWindowlessObject
Enthält die IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowless-Schnittstelle des Steuerelements.
IOleInPlaceObjectWindowless* m_pWindowlessObject;
COleControlSite::m_pWndCtrl
Enthält einen Zeiger auf das CWnd
Objekt, das das Steuerelement selbst darstellt.
CWnd* m_pWndCtrl;
COleControlSite::m_rect
Enthält die Grenzen des Steuerelements relativ zum Containerfenster.
CRect m_rect;
COleControlSite::ModifyStyle
Ändert die Formatvorlagen des Steuerelements.
virtual BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags);
Parameter
dwRemove
Die Formatvorlagen, die aus den aktuellen Fensterformatvorlagen entfernt werden sollen.
dwAdd
Die Formatvorlagen, die aus den aktuellen Fensterformatvorlagen hinzugefügt werden sollen.
nFlags
Fensterpositionierungskennzeichnungen. Eine Liste der möglichen Werte finden Sie in der SetWindowPos-Funktion im Windows SDK.
Rückgabewert
Nonzero, wenn die Formatvorlagen geändert werden, andernfalls 0.
Hinweise
Die Aktieneigenschaft "Enabled" des Steuerelements wird entsprechend der Einstellung für WS_DISABLED geändert. Die Stock Border Style-Eigenschaft des Steuerelements wird entsprechend der angeforderten Einstellung für WS_BORDER geändert. Alle anderen Formatvorlagen werden direkt auf den Fensterziehpunkt des Steuerelements angewendet, falls vorhanden.
Ändert die Fensterformatvorlagen des Steuerelements. Formatvorlagen, die hinzugefügt oder entfernt werden sollen, können mithilfe des bitweisen OR(|
)-Operators kombiniert werden. Informationen zu den verfügbaren Fensterformatvorlagen finden Sie in der CreateWindow-Funktion im Windows SDK.
Wenn nFlags nicht null ist, ModifyStyle
ruft die Win32-Funktion SetWindowPos
auf und zeichnet das Fenster neu, indem nFlags mit den folgenden vier Flags kombiniert wird:
SWP_NOSIZE behält die aktuelle Größe bei.
SWP_NOMOVE behält die aktuelle Position bei.
SWP_NOZORDER behält die aktuelle Z-Reihenfolge bei.
SWP_NOACTIVATE Aktiviert das Fenster nicht.
Rufen Sie ModifyStyleEx auf, um die erweiterten Formatvorlagen eines Fensters zu ändern.
COleControlSite::ModifyStyleEx
Ändert die erweiterten Formatvorlagen des Steuerelements.
virtual BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags);
Parameter
dwRemove
Die erweiterten Formatvorlagen, die aus den aktuellen Fensterformatvorlagen entfernt werden sollen.
dwAdd
Die erweiterten Formatvorlagen, die aus den aktuellen Fensterformatvorlagen hinzugefügt werden sollen.
nFlags
Fensterpositionierungskennzeichnungen. Eine Liste der möglichen Werte finden Sie in der SetWindowPos-Funktion im Windows SDK.
Rückgabewert
Nonzero, wenn die Formatvorlagen geändert werden, andernfalls 0.
Hinweise
Die Eigenschaft "Aktiendarstellung" des Steuerelements wird entsprechend der Einstellung für WS_EX_CLIENTEDGE geändert. Alle anderen erweiterten Fensterformatvorlagen werden direkt auf den Fensterpunkt des Steuerelements angewendet, sofern vorhanden.
Ändert die erweiterten Fensterformatvorlagen des Steuerelementwebsiteobjekts. Formatvorlagen, die hinzugefügt oder entfernt werden sollen, können mithilfe des bitweisen OR(|
)-Operators kombiniert werden. Informationen zu den verfügbaren Fensterformatvorlagen finden Sie in der CreateWindowEx-Funktion im Windows SDK.
Wenn nFlags nicht null ist, ModifyStyleEx
ruft die Win32-Funktion SetWindowPos
auf und zeichnet das Fenster neu, indem nFlags mit den folgenden vier Flags kombiniert wird:
SWP_NOSIZE behält die aktuelle Größe bei.
SWP_NOMOVE behält die aktuelle Position bei.
SWP_NOZORDER behält die aktuelle Z-Reihenfolge bei.
SWP_NOACTIVATE Aktiviert das Fenster nicht.
Rufen Sie ModifyStyle auf, um die erweiterten Formatvorlagen eines Fensters zu ändern.
COleControlSite::MoveWindow
Ändert die Position des Steuerelements.
virtual void MoveWindow(
int x,
int y,
int nWidth,
int nHeight);
Parameter
x
Die neue Position der linken Seite des Fensters.
y
Die neue Position des oberen Fensterrands.
nWidth
Die neue Breite des Fensters
nHeight
Die neue Höhe des Fensters.
COleControlSite::QuickActivate
Schnellaktiviert das enthaltene Steuerelement.
virtual BOOL QuickActivate();
Rückgabewert
Nonzero, wenn die Steuerelementwebsite aktiviert wurde, andernfalls 0.
Hinweise
Diese Funktion sollte nur aufgerufen werden, wenn der Benutzer den Erstellungsprozess des Steuerelements überschreibt.
Die IPersist*::Load
Methoden und IPersist*::InitNew
Methoden sollten aufgerufen werden, nachdem die schnelle Aktivierung erfolgt. Das Steuerelement sollte während der schnellen Aktivierung seine Verbindungen mit den Senken des Containers herstellen. Diese Verbindungen sind jedoch erst live, wenn IPersist*::Load
sie IPersist*::InitNew
aufgerufen wurden.
COleControlSite::SafeSetProperty
Legt die durch dwDispID angegebene Steuerelementeigenschaft fest.
virtual BOOL AFX_CDECL SafeSetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
Parameter
dwDispID
Gibt die Verteiler-ID der Eigenschaft oder Methode an, die auf der Schnittstelle des Steuerelements IDispatch
gefunden wird, die festgelegt werden soll.
vtProp
Gibt den festzulegenden Eigenschaftstyp an. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
...
Ein einzelner Parameter des typs, der von vtProp angegeben wird.
Rückgabewert
Ungleich 0, wenn erfolgreich, andernfalls 0.
Hinweise
Hinweis
Im Gegensatz und SetProperty
SetPropertyV
, wenn ein Fehler aufgetreten ist (z. B. versuchen, eine nicht vorhandene Eigenschaft festzulegen), wird keine Ausnahme ausgelöst.
COleControlSite::SetDefaultButton
Legt das Steuerelement als Standardschaltfläche fest.
void SetDefaultButton(BOOL bDefault);
Parameter
bDefault
Nonzero, wenn das Steuerelement zur Standardschaltfläche werden soll; andernfalls 0.
Hinweise
Hinweis
Das Steuerelement muss über den OLEMISC_ACTSLIKEBUTTON Statusbitsatz verfügen.
COleControlSite::SetDlgCtrlID
Ändert den Wert des Dialogfeldelementbezeichners des Steuerelements.
virtual int SetDlgCtrlID(int nID);
Parameter
Nid
Der neue Bezeichnerwert.
Rückgabewert
Bei erfolgreicher Ausführung wird der vorherige Dialogfeldelementbezeichner des Fensters angezeigt. andernfalls 0.
Hinweise
COleControlSite::SetFocus
Legt den Fokus auf das Steuerelement fest.
virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);
Parameter
lpmsg
Ein Zeiger auf eine MSG-Struktur. Diese Struktur enthält die Windows-Nachricht, die die SetFocus
Anforderung für das Steuerelement auslöst, das in der aktuellen Steuerelementwebsite enthalten ist.
Rückgabewert
Ein Zeiger auf das Fenster, das zuvor den Fokus hatte.
COleControlSite::SetProperty
Legt die durch dwDispID angegebene Steuerelementeigenschaft fest.
virtual void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
Parameter
dwDispID
Gibt die Verteiler-ID der Eigenschaft oder Methode an, die auf der Schnittstelle des Steuerelements IDispatch
gefunden wird, die festgelegt werden soll.
vtProp
Gibt den festzulegenden Eigenschaftstyp an. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
...
Ein einzelner Parameter des typs, der von vtProp angegeben wird.
Hinweise
Wenn SetProperty
ein Fehler auftritt, wird eine Ausnahme ausgelöst.
Der Ausnahmetyp wird durch den Rückgabewert des Versuchs, die Eigenschaft oder Methode festzulegen, bestimmt. Wenn der Rückgabewert lautet DISP_E_EXCEPTION
, wird eine COleDispatchExcpetion
ausgelöst; andernfalls ein COleException
.
COleControlSite::SetPropertyV
Legt die durch dwDispID angegebene Steuerelementeigenschaft fest.
virtual void SetPropertyV(
DISPID dwDispID,
VARTYPE vtProp,
va_list argList);
Parameter
dwDispID
Gibt die Verteiler-ID der Eigenschaft oder Methode an, die auf der Schnittstelle des Steuerelements IDispatch
gefunden wird, die festgelegt werden soll.
vtProp
Gibt den festzulegenden Eigenschaftstyp an. Informationen zu den möglichen Werten finden Sie im Abschnitt „Anmerkungen“ für COleDispatchDriver::InvokeHelper.
argList
Zeiger auf die Liste der Argumente.
Hinweise
Zusätzliche Parameter für die aufgerufene Methode oder Eigenschaft können mithilfe des arg_list-Parameters übergeben werden. Wenn SetProperty
ein Fehler auftritt, wird eine Ausnahme ausgelöst.
Der Ausnahmetyp wird durch den Rückgabewert des Versuchs, die Eigenschaft oder Methode festzulegen, bestimmt. Wenn der Rückgabewert lautet DISP_E_EXCEPTION
, wird eine COleDispatchExcpetion
ausgelöst; andernfalls ein COleException
.
COleControlSite::SetWindowPos
Legt die Größe, Position und Z-Reihenfolge der Steuerelementwebsite fest.
virtual BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags);
Parameter
pWndInsertAfter
Ein Zeiger auf das Fenster.
x
Die neue Position der linken Seite des Fensters.
y
Die neue Position des oberen Fensterrands.
cx
Die neue Breite des Fensters
Cy
Die neue Höhe des Fensters.
nFlags
Gibt die Fenstergröße und Positionierungskennzeichnungen an. Mögliche Werte finden Sie im Abschnitt "Hinweise" für SetWindowPos im Windows SDK.
Rückgabewert
Wenn dies erfolgreich ist, andernfalls 0.
COleControlSite::SetWindowText
Legt den Text für die Steuerelementwebsite fest.
virtual void SetWindowText(LPCTSTR lpszString);
Parameter
lpszString
Zeiger auf eine mit Null beendete Zeichenfolge, die als neuer Titel oder Steuerelementtext verwendet werden soll.
Hinweise
Diese Funktion versucht zunächst, die Caption-Aktieneigenschaft festzulegen. Wenn die Caption-Aktieneigenschaft nicht unterstützt wird, wird stattdessen die Text-Eigenschaft festgelegt.
COleControlSite::ShowWindow
Legt den Anzeigezustand des Fensters fest.
virtual BOOL ShowWindow(int nCmdShow);
Parameter
nCmdShow
Gibt an, wie die Steuerelementwebsite angezeigt werden soll. Es muss sich um einen der folgenden Werte handeln:
SW_HIDE Blendet dieses Fenster aus und übergibt die Aktivierung an ein anderes Fenster.
SW_MINIMIZE Minimiert das Fenster und aktiviert das Fenster auf oberster Ebene in der Liste des Systems.
SW_RESTORE Aktiviert und zeigt das Fenster an. Wenn das Fenster minimiert oder maximiert ist, stellt Windows es in seiner ursprünglichen Größe und Position wieder her.
SW_SHOW Aktiviert das Fenster und zeigt es in seiner aktuellen Größe und Position an.
SW_SHOWMAXIMIZED Aktiviert das Fenster und zeigt es als maximiertes Fenster an.
SW_SHOWMINIMIZED Aktiviert das Fenster und zeigt es als Symbol an.
SW_SHOWMINNOACTIVE Zeigt das Fenster als Symbol an. Das aktuell aktive Fenster bleibt aktiv.
SW_SHOWNA Zeigt das Fenster im aktuellen Zustand an. Das aktuell aktive Fenster bleibt aktiv.
SW_SHOWNOACTIVATE Zeigt das Fenster in seiner aktuellen Größe und Position an. Das aktuell aktive Fenster bleibt aktiv.
SW_SHOWNORMAL Aktiviert und zeigt das Fenster an. Wenn das Fenster minimiert oder maximiert ist, stellt Windows es in seiner ursprünglichen Größe und Position wieder her.
Rückgabewert
Nonzero, wenn das Fenster zuvor sichtbar war; 0, wenn das Fenster zuvor ausgeblendet wurde.
Siehe auch
CCmdTarget-Klasse
Hierarchiediagramm
COleControlContainer-Klasse