OleCreatePropertyFrameIndirect 函数 (olectl.h)
基于包含参数的 OCPFIPARAMS) 结构 (创建属性框架,即属性表对话框,而不是在调用 OleCreatePropertyFrame 时指定单独的参数。
语法
WINOLECTLAPI OleCreatePropertyFrameIndirect(
[in] LPOCPFIPARAMS lpParams
);
参数
[in] lpParams
指向调用方分配的结构的指针,该结构包含对话框的创建参数。
返回值
此函数支持标准返回值E_INVALIDARG、E_OUTOFMEMORY和E_UNEXPECTED,以及以下值:
返回代码 | 说明 |
---|---|
|
对话框已调用并成功操作。 |
|
lpParams 中的地址无效。 例如,它可能为 NULL。 |
注解
除了 cbStructSize (结构) 和 dispIDInitialProperty 的大小外, OCPFIPARAMS 结构的所有成员都具有与 OleCreatePropertyFrame 的参数相同的语义。 当 dispIDInitialProperty DISPID_UNKNOWN时,两个函数的行为是相同的。
dispIDInitialPropertyPropertyProperty结合 IPerPropertyBrowsing 和 IPropertyPage2 允许调用方指定当对话框可见时应突出显示的单个属性。 使用 OleCreatePropertyFrame 时,此功能不可用。 若要确定最初要显示的页面和属性,属性框架将执行以下操作:
- 调用 (*ppUnk) -QueryInterface> (IID_IPerPropertyBrowsing...) 以获取指向第一个对象的接口指针。
- 调用 IPerPropertyBrowsing::MapPropertyToPage (dispIDInitialProperty, ...) 以确定哪个页 CLSID 包含要突出显示的属性。 要为其调用此帧的所有对象都必须支持框架中显示的属性集。
- 创建对话框后,使用 IPropertyPage::Activate 激活步骤 2 中检索到的 CLSID 的属性页。
- 属性帧查询 IPropertyPage2 的活动页。
- 如果成功,帧将调用 IPropertyPage2::EditProperty (dispIDInitialProperty) 以突出显示该对话框中的正确字段。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | olectl.h |
Library | OleAut32.lib |
DLL | OleAut32.dll |