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 |
---|---|
|
El cuadro de diálogo se invocó y funcionó correctamente. |
|
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:
- Llame a (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) para obtener un puntero de interfaz al primer objeto.
- 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.
- 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.
- El marco de propiedad consulta la página activa para IPropertyPage2.
- 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 |