共用方式為


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時,這兩個函式的行為完全相同。

IPerPropertyBrowsingIPropertyPage2 搭配運作, dispIDInitialProperty 可讓呼叫端指定當對話框可見時應該反白顯示哪一個屬性。 使用 OleCreatePropertyFrame 時無法使用此功能。 若要判斷一開始要顯示的頁面和屬性,屬性框架會執行下列動作:

  1. 呼叫 (*ppUnk) -QueryInterface> (IID_IPerPropertyBrowsing...) 以取得第一個物件的介面指標。
  2. 呼叫 IPerPropertyBrowsing::MapPropertyToPage (dispIDInitialProperty,...) 來判斷要反白顯示的屬性。 叫用此框架的所有物件都必須支援框架中顯示的屬性集。
  3. 建立對話框時,步驟 2 中擷取 CLSID 的屬性頁會以 IPropertyPage::Activate 啟動
  4. 屬性框架會查詢 IPropertyPage2 的作用中頁面。
  5. 如果成功,框架會呼叫 IPropertyPage2::EditProperty (dispIDInitialProperty) 反白顯示該對話框中的正確欄位。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 olectl.h
程式庫 OleAut32.lib
Dll OleAut32.dll

另請參閱

OCPFIPARAMS

OleCreatePropertyFrame