Поделиться через


Функция 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