Condividi tramite


Funzione OleCreatePropertyFrameIndirect (olectl.h)

Crea un frame di proprietà, ovvero una finestra di dialogo del foglio delle proprietà, basata su una struttura (OCPFIPARAMS) che contiene i parametri, anziché specificare parametri separati come quando si chiama OleCreatePropertyFrame.

Sintassi

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

Parametri

[in] lpParams

Puntatore alla struttura allocata del chiamante contenente i parametri di creazione per la finestra di dialogo.

Valore restituito

Questa funzione supporta i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, nonché quanto segue:

Codice restituito Descrizione
S_OK
La finestra di dialogo è stata richiamata e gestita correttamente.
E_POINTER
L'indirizzo in lpParams non è valido. Ad esempio, può essere NULL.

Commenti

Oltre a cbStructSize (dimensioni della struttura) e dispIDInitialProperty, tutti i membri della struttura OCPFIPARAMS hanno la stessa semantica dei parametri per OleCreatePropertyFrame. Quando dispIDInitialProperty è DISPID_UNKNOWN, il comportamento delle due funzioni è identico.

Lavorando insieme a IPerPropertyBrowsing e IPropertyPage2, dispIDInitialProperty consente al chiamante di specificare quale singola proprietà deve essere evidenziata quando la finestra di dialogo viene resa visibile. Questa funzionalità non è disponibile quando si usa OleCreatePropertyFrame. Per determinare la pagina e la proprietà da visualizzare inizialmente, il frame della proprietà eseguirà le operazioni seguenti:

  1. Chiamare (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) per ottenere un puntatore dell'interfaccia al primo oggetto.
  2. Chiamare IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...) per determinare quale pagina CLSID contiene la proprietà da evidenziare. Tutti gli oggetti per cui viene richiamato questo frame devono supportare il set di proprietà visualizzate nel frame.
  3. Quando viene creata la finestra di dialogo, la pagina delle proprietà con CLSID recuperata nel passaggio 2 viene attivata con IPropertyPage::Activate.
  4. Il frame delle proprietà esegue una query sulla pagina attiva per IPropertyPage2.
  5. Se ha esito positivo, il frame chiama IPropertyPage2::EditProperty(dispIDInitialProperty) per evidenziare il campo corretto in tale finestra di dialogo.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione olectl.h
Libreria OleAut32.lib
DLL OleAut32.dll

Vedi anche

OCPFIPARAMS

OleCreatePropertyFrame