Freigeben über


OleCreatePropertyFrameIndirect-Funktion (olectl.h)

Erstellt einen Eigenschaftenrahmen, d. h. ein Eigenschaftenblattdialogfeld, basierend auf einer Struktur (OCPFIPARAMS), die die Parameter enthält, anstatt separate Parameter wie beim Aufrufen von OleCreatePropertyFrame anzugeben.

Syntax

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

Parameter

[in] lpParams

Zeiger auf die vom Aufrufer zugeordnete Struktur, die die Erstellungsparameter für das Dialogfeld enthält.

Rückgabewert

Diese Funktion unterstützt die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY und E_UNEXPECTED sowie Folgendes:

Rückgabecode BESCHREIBUNG
S_OK
Das Dialogfeld wurde aufgerufen und erfolgreich ausgeführt.
E_POINTER
Die Adresse in lpParams ist ungültig. Es kann z. B. NULL sein.

Hinweise

Neben cbStructSize (größe der Struktur) und dispIDInitialProperty verfügen alle Member der OCPFIPARAMS-Struktur über die gleiche Semantik wie die Parameter für OleCreatePropertyFrame. Wenn dispIDInitialProperty DISPID_UNKNOWN ist, ist das Verhalten der beiden Funktionen identisch.

In Verbindung mit IPerPropertyBrowsing und IPropertyPage2 ermöglicht dispIDInitialProperty dem Aufrufer anzugeben, welche einzelne Eigenschaft hervorgehoben werden soll, wenn das Dialogfeld sichtbar gemacht wird. Dieses Feature ist bei Verwendung von OleCreatePropertyFrame nicht verfügbar. Um die seite und die Eigenschaft zu bestimmen, die zunächst angezeigt werden sollen, führt der Eigenschaftenrahmen die folgenden Schritte aus:

  1. Rufen Sie (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) auf, um einen Schnittstellenzeiger auf das erste Objekt zu erhalten.
  2. Rufen Sie IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...) auf, um zu bestimmen, welche Seite CLSID die hervorzuhebende Eigenschaft enthält. Alle Objekte, für die dieser Frame aufgerufen wird, müssen die im Frame angezeigten Eigenschaften unterstützen.
  3. Wenn das Dialogfeld erstellt wird, wird die Eigenschaftenseite mit der in Schritt 2 abgerufenen CLSID mit IPropertyPage::Activate aktiviert.
  4. Der Eigenschaftenrahmen fragt die aktive Seite nach IPropertyPage2 ab.
  5. Bei erfolgreicher Ausführung ruft der Frame IPropertyPage2::EditProperty(dispIDInitialProperty) auf, um das richtige Feld in diesem Dialogfeld hervorzuheben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile olectl.h
Bibliothek OleAut32.lib
DLL OleAut32.dll

Weitere Informationen

OCPFIPARAMS

OleCreatePropertyFrame