Функция OleCreatePropertyFrameIndirect (olectl.h)

Создает фрейм свойства, то есть диалоговое окно страницы свойств, на основе структуры (OCPFIPARAMS), содержащей параметры, вместо указания отдельных параметров, как при вызове OleCreatePropertyFrame.

Синтаксис

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

Параметры

[in] lpParams

Указатель на структуру, выделенную вызывающим объектом, содержащую параметры создания диалогового окна.

Возвращаемое значение

Эта функция поддерживает стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и E_UNEXPECTED, а также следующие:

Код возврата Описание
S_OK
Диалоговое окно было вызвано и успешно выполнено.
E_POINTER
Недопустимый адрес в lpParams . Например, он может иметь значение NULL.

Комментарии

Помимо cbStructSize (размер структуры) и dispIDInitialProperty, все члены структуры OCPFIPARAMS имеют ту же семантику, что и параметры oleCreatePropertyFrame. Если параметр dispIDInitialProperty DISPID_UNKNOWN, поведение двух функций идентично.

Работая в сочетании с IPerPropertyBrowsing и IPropertyPage2, dispIDInitialProperty позволяет вызывающей объекту указать, какое одно свойство должно быть выделено, когда диалоговое окно становится видимым. Эта функция недоступна при использовании OleCreatePropertyFrame. Чтобы определить изначально отображаемую страницу и свойство, фрейм свойства выполнит следующие действия:

  1. Вызовите (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...), чтобы получить указатель интерфейса на первый объект.
  2. Вызовите метод IPerPropertyBrowsing::MapPropertyToPage(dispIDInitialProperty, ...), чтобы определить, какая страница CLSID содержит свойство для выделения. Все объекты, для которых вызывается этот кадр, должны поддерживать набор свойств, отображаемых в кадре.
  3. При создании диалогового окна страница свойств с идентификатором CLSID, извлеченным на шаге 2, активируется с помощью IPropertyPage::Activate.
  4. Фрейм свойства запрашивает у активной страницы IPropertyPage2.
  5. В случае успешного выполнения кадр вызывает IPropertyPage2::EditProperty(dispIDInitialProperty), чтобы выделить правильное поле в этом диалоговом окне.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header olectl.h
Библиотека OleAut32.lib
DLL OleAut32.dll

См. также раздел

OCPFIPARAMS

OleCreatePropertyFrame