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 |
---|---|
|
La finestra di dialogo è stata richiamata e gestita correttamente. |
|
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:
- Chiamare (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) per ottenere un puntatore dell'interfaccia al primo oggetto.
- 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.
- Quando viene creata la finestra di dialogo, la pagina delle proprietà con CLSID recuperata nel passaggio 2 viene attivata con IPropertyPage::Activate.
- Il frame delle proprietà esegue una query sulla pagina attiva per IPropertyPage2.
- 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 |