Compartir a través de


Función OleCreatePropertyFrameIndirect (olectl.h)

Crea un marco de propiedad, es decir, un cuadro de diálogo de hoja de propiedades, basado en una estructura (OCPFIPARAMS) que contiene los parámetros, en lugar de especificar parámetros independientes como al llamar a OleCreatePropertyFrame.

Sintaxis

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

Parámetros

[in] lpParams

Puntero a la estructura asignada por el autor de la llamada que contiene los parámetros de creación del cuadro de diálogo.

Valor devuelto

Esta función admite los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y E_UNEXPECTED, así como lo siguiente:

Código devuelto Descripción
S_OK
El cuadro de diálogo se invocó y funcionó correctamente.
E_POINTER
La dirección de lpParams no es válida. Por ejemplo, puede ser NULL.

Comentarios

Además de cbStructSize (el tamaño de la estructura) y dispIDInitialProperty, todos los miembros de la estructura OCPFIPARAMS tienen la misma semántica que los parámetros para OleCreatePropertyFrame. Cuando dispIDInitialProperty es DISPID_UNKNOWN, el comportamiento de las dos funciones es idéntico.

Trabajar junto con IPerPropertyBrowsing e IPropertyPage2, dispIDInitialProperty permite al autor de la llamada especificar qué propiedad única debe resaltarse cuando se haga visible el cuadro de diálogo. Esta característica no está disponible cuando se usa OleCreatePropertyFrame. Para determinar la página y la propiedad que se van a mostrar inicialmente, el marco de propiedad hará lo siguiente:

  1. Llame a (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) para obtener un puntero de interfaz al primer objeto.
  2. Llame a IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...) para determinar qué clSID de página contiene la propiedad que se va a resaltar. Todos los objetos para los que se invoca este marco deben admitir el conjunto de propiedades que se muestran en el marco.
  3. Cuando se crea el cuadro de diálogo, la página de propiedades con el CLSID recuperado en el paso 2 se activa con IPropertyPage::Activate.
  4. El marco de propiedad consulta la página activa para IPropertyPage2.
  5. Si se ejecuta correctamente, el marco llama a IPropertyPage2::EditProperty(dispIDInitialProperty) para resaltar el campo correcto en ese cuadro de diálogo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado olectl.h
Library OleAut32.lib
Archivo DLL OleAut32.dll

Consulte también

OCPFIPARAMS

OleCreatePropertyFrame