Função OleCreatePropertyFrameIndirect (olectl.h)

Cria um quadro de propriedades, ou seja, uma caixa de diálogo de folha de propriedades, com base em uma estrutura (OCPFIPARAMS) que contém os parâmetros, em vez de especificar parâmetros separados como ao chamar OleCreatePropertyFrame.

Sintaxe

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

Parâmetros

[in] lpParams

Ponteiro para a estrutura alocada pelo chamador que contém os parâmetros de criação da caixa de diálogo.

Retornar valor

Essa função dá suporte aos valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, bem como o seguinte:

Código de retorno Descrição
S_OK
A caixa de diálogo foi invocada e operada com êxito.
E_POINTER
O endereço em lpParams não é válido. Por exemplo, pode ser NULL.

Comentários

Além de cbStructSize (o tamanho da estrutura) e dispIDInitialProperty, todos os membros da estrutura OCPFIPARAMS têm a mesma semântica que os parâmetros de OleCreatePropertyFrame. Quando dispIDInitialProperty é DISPID_UNKNOWN, o comportamento das duas funções é idêntico.

Trabalhando em conjunto com IPerPropertyBrowsing e IPropertyPage2, dispIDInitialProperty permite que o chamador especifique qual propriedade única deve ser realçada quando a caixa de diálogo fica visível. Esse recurso não está disponível ao usar OleCreatePropertyFrame. Para determinar a página e a propriedade a serem mostradas inicialmente, o quadro de propriedades fará o seguinte:

  1. Chame (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) para obter um ponteiro de interface para o primeiro objeto.
  2. Chame IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...) para determinar qual página CLSID contém a propriedade a ser realçada. Todos os objetos para os quais esse quadro está sendo invocado devem dar suporte ao conjunto de propriedades exibido no quadro.
  3. Quando a caixa de diálogo é criada, a página de propriedades com o CLSID recuperado na Etapa 2 é ativada com IPropertyPage::Activate.
  4. O quadro de propriedades consulta a página ativa para IPropertyPage2.
  5. Se tiver êxito, o quadro chamará IPropertyPage2::EditProperty(dispIDInitialProperty) para realçar o campo correto nessa caixa de diálogo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho olectl.h
Biblioteca OleAut32.lib
DLL OleAut32.dll

Confira também

OCPFIPARAMS

Olecreatepropertyframe