PFNCOMPROPSHEET 回呼函式 (compstui.h)

ComPropSheet 函式是由 CPSUI 提供,可由 CPSUI 應用程式呼叫, (包括印表機介面 DLL) 來建置屬性表頁面。

語法

PFNCOMPROPSHEET Pfncompropsheet;

LONG_PTR Pfncompropsheet(
  [in] HANDLE hComPropSheet,
  [in] UINT Function,
  [in] LPARAM lParam1,
  [in] LPARAM lParam2
)
{...}

參數

[in] hComPropSheet

屬性表 群組父代的呼叫端提供的句柄。 如需詳細資訊,請參閱接下來的<備註>一節。

[in] Function

呼叫端提供的CPSFUNC_前置 ComPropSheet 函式程式代碼,指定要由 ComPropSheet 函式執行的作業。 See the ComPropSheet function codes table in the Remarks section below.

[in] lParam1

呼叫端提供的值,取決於提供給 FunctionComPropSheet 函式程式代碼。

[in] lParam2

呼叫端提供的值,取決於提供給 FunctionComPropSheet 函式程式代碼。

傳回值

傳回值取決於提供給 FunctionComPropSheet 函式程式代碼

備註

當 CPSUI 呼叫其中一個應用程式的 PFNPROPSHEETUI 型別函式時,它會在PROPSHEETUI_INFO結構中傳遞 ComPropSheet 函式的指標。 PFNPROPSHEETUI 型別函式可以呼叫 ComPropSheet 函式,將屬性表頁面描述為 CPSUI。

印表機介面 DLL 可以從其 DrvDocumentPropertySheets 函式或其 DrvDevicePropertySheets 函式內呼叫 ComPropSheet

Microsoft UnidrvPscript 驅動程式的使用者介面外掛程式可以從其 IPrintOemUI::D ocumentPropertySheetsIPrintOemUI::D evicePropertySheets 方法內呼叫 ComPropSheet

hComPropSheet 參數指定的群組父句柄可以是下列其中一項:

  • PROPSHEETUI_INFO 結構之 hComPropSheet 成員中收到的句柄。

  • 先前使用CPSFUNC_INSERT_PSUIPAGE函式程式代碼呼叫 ComPropSheet 而收到的句柄,並將PSUIPAGEINSERT_GROUP_PARENT指定為INSERTPSUIPAGE_INFO結構的 Type 成員。

ComPropSheet 函式程式代碼

下列函式程式代碼可以傳遞至 CPSUI 的 ComPropSheet 函式:

CPSFUNC_ADD_HPROPSHEETPAGE

CPSFUNC_ADD_HPROPSHEETPAGE函式程式代碼會導致 ComPropSheet 函式新增屬性表頁面,該頁面是藉由呼叫 CreatePropertySheetPage 函式所建立的。

參數 (CPSFUNC_ADD_HPROPSHEETPAGE)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以新增屬性表頁面時,將此函式程式代碼參數設定為CPSFUNC_ADD_HPROPSHEETPAGE

  • lParam1:呼叫 CreatePropertySheetPage 函式取得的屬性表頁面句柄

  • lParam2:未使用,必須是零

傳回值 (CPSFUNC_ADD_HPROPSHEETPAGE)

如果作業成功, ComPropSheet 會將 CPSUI 句柄傳回至新增的頁面;否則會傳回 NULL。

CPSFUNC_ADD_PCOMPROPSHEETUI

CPSFUNC_ADD_PCOMPROPSHEETUI函式程式代碼會使 ComPropSheet 函式加入一組由 COMPROPSHEETUI 結構描述的一或多個屬性表頁面。

參數
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以新增一或多個屬性表頁面集時,將此函式程式碼參數設定為CPSFUNC_ADD_PCOMPROPSHEETUI

  • lParam1COMPROPSHEETUI 結構的指標

  • lParam2:要接收新增頁面數目的 32 位位置指標,如果發生失敗,則ERR_CPSUI前置錯誤碼

傳回值

如果作業成功, ComPropSheet 會傳回已新增頁面集的句柄;否則,函式會傳回NULL。

CPSFUNC_ADD_PFNPROPSHEETUI

CPSFUNC_ADD_PFNPROPSHEETUI函式程式代碼會使 ComPropSheet 函式呼叫指定的 PFNPROPSHEETUI 型別函式,這必須加入一組一或多個屬性表頁面。

參數 (CPSFUNC_ADD_PFNPROPSHEETUI)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 時,將此函式程式碼參數設定為CPSFUNC_ADD_PFNPROPSHEETUIComPropSheet 接著會呼叫指定的 PFNPROPSHEETUI 型別函式,以新增一組一或多個屬性表頁面。

  • lParam1:P FNPROPSHEETUI 型別函式的指標

  • lParam2:傳遞至其 lParam 參數之 PFNPROPSHEETUI 型別函式的 32 位值

傳回值 (CPSFUNC_ADD_PFNPROPSHEETUI)

如果作業成功, ComPropSheet 會傳回已新增頁面集的句柄;否則,函式會傳回NULL。

CPSFUNC_ADD_PROPSHEETPAGE

CPSFUNC_ADD_PROPSHEETPAGE函數程式代碼會使 ComPropSheet 函式加入 PROPSHEETPAGE 結構所描述的屬性表頁面類型。

參數 (CPSFUNC_ADD_PROPSHEETPAGE)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 時,將此函式程式碼參數設定為CPSFUNC_ADD_PROPSHEETPAGE,以新增 PROPSHEETPAGE 結構所描述的屬性表頁面類型。 ComPropSheet 函式會呼叫 CreatePropertySheetPage 函式,並傳遞 PROPSHEETPAGE 結構的位址來建立頁面。

  • lParam1PROPSHEETPAGE 結構的指標

  • lParam2:未使用,必須是零

傳回值 (CPSFUNC_ADD_PROPSHEETPAGE)

如果作業成功, ComPropSheet 會將 CPSUI 句柄傳回至新增的頁面;否則會傳回 NULL。

CPSFUNC_DELETE_HCOMPROPSHEET

CPSFUNC_DELETE_HCOMPROPSHEET函式程式代碼會使 ComPropSheet 函式刪除 CPSUI 句柄所指定的一組屬性表頁面。

參數 (CPSFUNC_DELETE_HCOMPROPSHEET)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以刪除一組屬性表頁面時,將此函式程式碼參數設定為CPSFUNC_DELETE_HCOMPROPSHEET

  • lParam1:CPSUI 句柄,參考要刪除的頁面集。 此句柄先前必須透過呼叫 ComPropSheet ,並具有下列其中一個函式程式碼來取得:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

  • lParam2:未使用,必須是零

傳回值 (CPSFUNC_DELETE_HCOMPROPSHEET)

ComPropSheet 函式會傳回已刪除的屬性表頁數。

CPSFUNC_DO_APPLY_CPSUI

CPSFUNC_DO_APPLY_CPSUI函式程式代碼會使 ComPropSheet 函式模擬PSN_APPLY通知訊息的傳遞。

CPSUI 會將 CPSUICB_REASON_APPLYNOW 原因傳遞給應用程式的_CPSUICALLBACK型別回呼函式,以回應 CPSFUNC_DO_APPLY_CPSUI 函式。

參數 (CPSFUNC_DO_APPLY_CPSUI)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以模擬傳遞PSN_APPLY通知訊息時,將此函式程式碼參數設定為CPSFUNC_DO_APPLY_CPSUI

  • lParam1:指向一或多個屬性表頁面集合的 CPSUI 句柄。 一般而言,此句柄先前已使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函式程式代碼指定為 ComPropSheet 的 lParam1 參數。

  • lParam2:此參數是下列位旗標的任何組合:

    • APPLYCPSUI_NO_NEWDEF - 如果您不想要變更復原作業所使用的目前預設值 (設定此旗標) 。 如果您想要讓所有選項的目前值成為復原作業所使用的預設值,請清除此旗標。

    • APPLYCPSUI_OK_CANCEL_BUTTON - 如果使用者 (選取 [確定] 或 [取消] 按鈕,或您想要模擬此活動) ,請設定此旗標。 如果使用者選取 [關閉] 或 [立即套用] 按鈕 (或您想要模擬此活動) ,請清除此旗標。 如果您的程式代碼設定為接收 PSN_APPLY 訊息,程式代碼應該檢查 PSHNOTIFY 結構的 lParam 成員。 如果成員為零,則應該清除這個位。

傳回值 (CPSFUNC_DO_APPLY_CPSUI)

如果作業成功, ComPropSheet 函式會傳回非零值;否則會傳回零,而且指定的頁面將會變成作用中。

如果您使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函式程式代碼來停用 CPSUI 對PSN_APPLY通知訊息的處理,您必須使用 CPSFUNC_DO_APPLY_CPSUI 函式程式碼來模擬PSN_APPLY訊息的傳遞。 否則,無法取得屬性表頁面的用戶變更。

CPSFUNC_GET_HPSUIPAGES

CPSFUNC_GET_HPSUIPAGES函式程式代碼會使 ComPropSheet 函式傳回指向屬性表頁面的 CPSUI 句柄數位。 這些句柄會識別與指定群組父句柄相關聯的子頁面。

若要使用此函式程式碼,請遵循下列步驟:

  • 呼叫 ComPropSheet,指定 CPSFUNC_GET_PAGECOUNT 函式程式代碼,以取得與指定群組父系相關聯的子頁面數目。

  • 配置足夠的本機記憶體,以包含每個頁面的 HANDLE 結構。

  • 再次呼叫 ComPropSheet ,指定 CPSFUNC_GET_HPSUIPAGES 函式程式碼和本機配置記憶體的位址,以取得 HANDLE 結構的數位。

參數 (CPSFUNC_GET_HPSUIPAGES)
  • hComPropSheet:群組父句柄

  • 函式:呼叫端會在呼叫 ComPropSheet 以擷取 CPSUI 句柄數位時,呼叫端將此函式程式代碼參數設定為CPSFUNC_GET_HPSUIPAGES

  • lParam1:HANDLE 結構的陣列指標

  • lParam2:lParam1 所指向的 HANDLE 陣列大小

傳回值 (CPSFUNC_GET_HPSUIPAGES)

ComPropSheet 函式會傳回 CPSUI 放入 HANDLE 陣列中的句柄數目。

CPSFUNC_GET_PAGECOUNT

CPSFUNC_GET_PAGECOUNT函式程式代碼會導致 ComPropSheet 函式傳回屬於指定群組父句柄子頁的屬性表頁數。

參數 (CPSFUNC_GET_PAGECOUNT)
  • hComPropSheet:群組父句柄

  • 函式:呼叫端會在呼叫 ComPropSheet 以傳回子頁面計數時,將此函式程式碼參數設定為CPSFUNC_GET_PAGECOUNT

  • lParam1:未使用,必須是零

  • lParam2:未使用,必須是零

傳回值 (CPSFUNC_GET_PAGECOUNT)

ComPropSheet 函式會傳回計算的頁數。

CPSFUNC_GET_PFNPROPSHEETUI_ICON

CPSFUNC_GET_PFNPROPSHEETUI_ICON函式程式代碼會導致 ComPropSheet 函式傳回與一組屬性表頁面相關聯的圖示句柄。 先前必須由 PFNPROPSHEETUI 類型的函式建立一組頁面。

ComPropSheet 函式會呼叫與指定頁面句柄相關聯的 PFNPROPSHEETUI 型別函式,並傳遞PROPSHEETUI_REASON_GET_ICON的原因值。 PFNPROPSHEETUI 類型的函式接著會呼叫 LoadImage ,並提供由lParam2 指定的圖示大小以載入圖示資源。

參數 (CPSFUNC_GET_PFNPROPSHEETUI_ICON)
  • hComPropSheet:群組父句柄

  • 函式:呼叫者呼叫 ComPropSheet 以擷取與一組屬性表頁面相關聯之圖示的句柄時,呼叫端會將此函式程式代碼參數設定為CPSFUNC_GET_PFNPROPSHEETUI_ICON

  • lParam1:參考一組屬性表頁面的 CPSUI 句柄。 此句柄先前必須透過呼叫 ComPropSheetCPSFUNC_ADD_PFNPROPSHEETUI 函式程式代碼來取得。

  • lParam2:指定兩個 WORD 大小值,代表圖示的大小,以像素為單位。 LOWORD 值是寬度,HIWORD 值是高度。 如果這些值為零,則會使用系統計量SM_CXICON和SM_CYICON。 如需詳細資訊,請參閱 GetSystemMetrics

傳回值 (CPSFUNC_GET_PFNPROPSHEETUI_ICON)

如果作業成功, ComPropSheet 函式會傳回圖示句柄;否則會傳回 NULL。

CPSFUNC_IGNORE_CPSUI_PSN_APPLY

CPSFUNC_IGNORE_CPSUI_PSN_APPLY函式程式代碼會導致 ComPropSheet 函式停用或重新啟用 CPSUI 處理PSN_APPLY通知訊息。

當使用者選取屬性表的 [確定] 或 [取消] 按鈕時,系統會將PSN_APPLY通知訊息傳送給 CPSUI。 CPSUI 會將 CPSUICB_REASON_APPLYNOW 原因傳遞給應用程式的_CPSUICALLBACK型別回呼函式,以回應此訊息。

如果您停用 CPSUI 對PSN_APPLY通知訊息的處理,您必須使用 CPSFUNC_DO_APPLY_CPSUI 函式程式代碼來模擬PSN_APPLY訊息的傳遞。 否則,無法取得對屬性表頁面的用戶變更。

如果未使用 CPSFUNC_IGNORE_CPSUI_PSN_APPLY 函式程式代碼,則預設會啟用 CPSUI 處理PSN_APPLY通知訊息。

參數 (CPSFUNC_IGNORE_CPSUI_PSN_APPLY)
  • hComPropSheet:群組父句柄

  • 式:呼叫端會在呼叫 ComPropSheet 以停用或重新啟用PSN_APPLY通知訊息的 CPSUI 處理時,將此函式程式代碼參數設定為CPSFUNC_IGNORE_CPSUI_PSN_APPLY

  • lParam1:參考一或多個屬性表頁面集合的 CPSUI 句柄。 此句柄先前必須由呼叫 ComPropSheet 取得,其函式程式代碼為 CPSFUNC_ADD_PCOMPROPSHEETUI,或是具有 CPSFUNC_INSERT_PSUIPAGE 的函式程式代碼,以及 插入類型的 PSUIPAGEINSERT_PROPSHEETPAGE

  • lParam2:任何非零值都停用 CPSUI 的傳遞 CPSUICB_REASON_APPLYNOW 原因。 零值可重新啟用 CPSUICB_REASON_APPLYNOW 原因的傳遞。

傳回值 (CPSFUNC_IGNORE_CPSUI_PSN_APPLY)

如果作業成功, ComPropSheet 函式會傳回非零值;否則會傳回零。

CPSFUNC_INSERT_PSUIPAGE

CPSFUNC_INSERT_PSUIPAGE函式程式代碼會導致 ComPropSheet 函式在特定位置插入一組屬性表頁面。

參數 (CPSFUNC_INSERT_PSUIPAGE)
  • hComPropSheet:群組父句柄

  • 函式:呼叫者呼叫 ComPropSheet 以在特定位置插入一組屬性表頁面時,呼叫端會將此函式程式代碼參數設定為CPSFUNC_INSERT_PSUIPAGE

  • lParam1:指定一組一或多個屬性表頁面的句柄。 根據 lParam2 所指向之INSERTPSUIPAGE_INFO結構的 Mode 成員,新頁面將會插入這些頁面之前或之後。 此句柄先前必須透過呼叫 ComPropSheet ,並具有下列其中一個函式程式碼來取得:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

  • lParam2INSERTPSUIPAGE_INFO 結構的指標,描述應該插入新頁面的位置和方式

傳回值 (CPSFUNC_INSERT_PSUIPAGE)

如果作業成功, ComPropSheet 函式會傳回插入頁面集的句柄;否則,函式會傳回NULL。

CPSFUNC_LOAD_CPSUI_ICON

CPSFUNC_LOAD_CPSUI_ICON函式程式代碼會導致 ComPropSheet 函式載入 CPSUI 提供的圖示資源。

CPSUI 會呼叫 LoadImage 來載入指定的圖示資源。

參數 (CPSFUNC_LOAD_CPSUI_ICON)
  • hComPropSheet:群組父句柄

  • 函式:呼叫端會在呼叫 ComPropSheet 以載入 CPSUI 提供的圖示資源時,將此函式程式代碼參數設定為CPSFUNC_LOAD_CPSUI_ICON

  • lParam1:要載入之 CPSUI 所提供圖示的資源識別碼。 這必須是 Compstui.h 中所定義的IDI_CPSUI前置標識符。

  • lParam2:指定兩個 WORD 大小值,代表圖示的大小,以像素為單位。 LOWORD 值是寬度,HIWORD 值是高度。 如果這些值為零,則會使用系統計量SM_CXICON和SM_CYICON。 如需詳細資訊,請參閱 GetSystemMetrics

傳回值 (CPSFUNC_LOAD_CPSUI_ICON)

如果作業成功, ComPropSheet 函式會傳回圖示句柄;否則會傳回 NULL。

CPSFUNC_LOAD_CPSUI_STRING

CPSFUNC_LOAD_CPSUI_STRING函式程式代碼會導致 ComPropSheet 函式載入 CPSUI 提供的字串資源。

ComPropSheet 函式會呼叫 LoadString] (/windows/win32/api/winuser/nf-winuser-loadstringw) 函式來載入指定的字符串。

參數 (CPSFUNC_LOAD_CPSUI_STRING)
  • hComPropSheet:群組父句柄

  • 函式:呼叫端會在呼叫 ComPropSheet 以載入 CPSUI 提供的字串資源時,將此函式程式代碼參數設定為 CPSFUNC_LOAD_CPSUI_STRING

  • lParam1:呼叫端配置的緩衝區的 LPSTR 型別指標,其中會放置 HIWORD 所指定的 CPSUI 字串 (lParam2)

  • lParam2:包含下列兩個呼叫端提供的值:

    • LOWORD (lParam2) 。 lParam1 所指向之緩衝區的大小,以位元組為單位。

    • HIWORD (lParam2) 。 要載入之 CPSUI 所提供字串的資源識別碼。 這必須是 Compstui.h 中所定義的IDS_CPSUI前置標識符。

傳回值 (CPSFUNC_LOAD_CPSUI_STRING)

如果作業成功, ComPropSheet 函式會傳回字串的長度。 如果指定了無效的資源標識符,函式會傳回零。 如果 lParam1 為 NULL 或 LOWORD (lParam2) 為零,則函式會傳回 -1。

CPSFUNC_QUERY_DATABLOCK

CPSFUNC_QUERY_DATABLOCK函式程式代碼會使 ComPropSheet 函式擷取先前使用 CPSFUNC_SET_DATABLOCK 函式程式代碼儲存的呼叫端提供的數據區塊。

一般而言,當函式的 CPSUICBPARAM 結構包含 CPSUICB_REASON_SETACTIVE) 的 Reason 值,以擷取目前頁面變成非使用中之前,_CPSUICALLBACK型別回呼函式會使用此函式程式代碼 (。

參數 (CPSFUNC_QUERY_DATABLOCK)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以擷取呼叫端提供的數據區塊時,將此函式程式代碼參數設定為CPSFUNC_QUERY_DATABLOCK

  • lParam1CPSUIDATABLOCK 結構的指標,可識別緩衝區的大小和位置,以接收要求的數據區塊

  • lParam2:D WORD 大小的標識碼值,用來識別要求的 CPSUIDATABLOCK 結構。 這個值必須在先前使用 CPSFUNC_SET_DATABLOCK 函式程式代碼呼叫 ComPropSheet 時指定。

傳回值 (CPSFUNC_QUERY_DATABLOCK)

如果作業成功, ComPropSheet 函式會傳回值,代表擷取的數據區塊大小。 如果 lParam1 為 NULL,或者所提供 CPSUIDATABLOCK 結構的任何成員值為零, ComPropSheet 會 傳回儲存數據區塊所需的大小。 如果發生錯誤,函式會傳回小於或等於零的值。

CPSFUNC_SET_DATABLOCK

CPSFUNC_SET_DATABLOCK函式程式代碼會導致 ComPropSheet 函式儲存呼叫端提供的數據區塊。 您可以使用此函式程式碼,讓屬性表頁面的相關信息可供其他頁面使用。

一般而言,當函式的 CPSUICBPARAM 結構包含 CPSUICB_REASON_KILLACTIVE) 的 Reason 值時,_CPSUICALLBACK型別回呼函式會使用此函式程式代碼 (,以在頁面變成非使用中之前儲存與頁面相關聯的值。

參數 (CPSFUNC_SET_DATABLOCK)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以儲存呼叫端提供的數據區塊時,將此函式程式碼參數設定為CPSFUNC_SET_DATABLOCK

  • lParam1CPSUIDATABLOCK 結構的指標,描述要儲存的數據區塊

  • lParam2:呼叫端定義的 DWORD 大小標識碼值。 它會用來識別後續使用 CPSFUNC_QUERY_DATABLOCK 函式程式代碼呼叫 ComPropSheet 時提供的 CPSUIDATABLOCK 結構。

傳回值 (CPSFUNC_SET_DATABLOCK)

如果作業成功, ComPropSheet 函式會傳回值,代表已儲存的位元組數目;否則會傳回小於或等於零的值。

CPSFUNC_SET_DMPUB_HIDEBITS

CPSFUNC_SET_DMPUB_HIDEBITS函式程式碼會使 ComPropSheet 函式「隱藏」一組指定的檔案屬性選項,使其不會顯示。

如果您想要為一或多個檔案屬性表選項定義 OPTITEM 結構,但不想讓選項成為使用者可修改,您可以使用 CPSFUNC_SET_DMPUB_HIDEBITS 函式程式碼。 屬性表頁面必須使用 COMPROPSHEETUI 結構來定義,而且結構的 pDlgPage 成員必須 CPSUI_PDLGPAGE_DOCPROPCPSUI_PDLGPAGE_ADVDOCPROP

如果您使用CPSFUNC_SET_DMPUB_HIDEBITS函式程式代碼,則必須在CPSFUNC_ADD_PCOMPROPSHEETUI或CPSFUNC_INSERT_PSUIPAGE函式程式代碼用來建立頁面之前,將它指定給 ComPropSheet

參數 (CPSFUNC_SET_DMPUB_HIDEBITS)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以「隱藏」指定的文件屬性選項集時,將此函式程式碼參數設定為CPSFUNC_SET_DMPUB_HIDEBITS

  • lParam1:位數組的指標,表示要隱藏的選項。 此陣列必須使用 MAKE_DMPUB_HIDEBIT (DMPub) 宏來建立,其中 DMPub 是一或多個DMPUB_前置常數的 OR 組合。 DMPUB_前置常數會列在 OPTITEM 結構的描述中。 宏和常數定義於 Compstui.h 中。

  • lParam2:未使用,必須是零

傳回值 (CPSFUNC_SET_DMPUB_HIDEBITS)

如果作業成功, ComPropSheet 函式會傳回為 lParam1 指定的值;否則會傳回零。

CPSFUNC_SET_FUSION_CONTEXT

CPSFUNC_SET_FUSION_CONTEXT會設定指定頁面的 Fusion 啟用內容。

當頁面即將建立或插入,且未在其 PROPSHEETPAGE 結構中指定啟用內容時,它會在父頁面啟用內容中建立。

如果未設定父系的啟用內容,則 Compstui.dll 查閱父系的父系,繼續直到達到最上層父系,或直到找到已正確設定啟用內容的父系為止。

如果沒有任何父系具有啟用內容集,則 Compstui.dll 不會在 PROPSHEETPAGE 結構中指定啟用內容。 這表示頁面將會建立在 PropertySheet 函式呼叫端的啟用內容中。

參數 (CPSFUNC_SET_FUSION_CONTEXT)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 時,將此函式程式代碼參數設定為CPSFUNC_SET_FUSION_CONTEXT,以設定指定頁面的 Fusion 啟用內容

  • lParam1:指定融合內容的句柄。 Compstui.dll 複製句柄,並將它附加至其內部結構,讓呼叫端不一定要保留句柄。 Compstui.dll 刪除 Compstui.dll 句柄時釋放傳入的內容句柄。

  • lParam2:未使用,必須是零

傳回值 (CPSFUNC_SET_FUSION_CONTEXT)

如果作業成功, ComPropSheet 函式會傳回大於零的值。 否則, ComPropSheet 會傳回小於或等於零的值。 如需錯誤的相關信息,請使用 GetLastError 函 式。

CPSFUNC_SET_HSTARTPAGE

CPSFUNC_SET_HSTARTPAGE函式程式代碼會使 ComPropSheet 函式將指定的屬性表頁面標示為相關聯屬性表的頂端頁面。 如果目前正在顯示屬性表,指定的頁面就會變成使用中頁面。

參數 (CPSFUNC_SET_HSTARTPAGE)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 時,將此函式程式碼參數設定為CPSFUNC_SET_HSTARTPAGE,將指定的屬性表頁面標示為相關聯屬性表的頂端頁面

  • lParam1:呼叫端提供的 CPSUI 頁面句柄,先前由呼叫 ComPropSheet 與下列其中一個函式程式代碼取得:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PCOMPROPSHEETUI

    • CPSFUNC_ADD_PFNPROPSHEETUI

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE

    如果句柄代表屬於 hComPropSheet 所指定群組的單一頁面,CPSUI 會將此頁面設為頂端頁面。

    如果句柄代表群組父句柄 (看到 CPSFUNC_INSERT_PSUIPAGE) 則 lParam2 會將以零起始的索引表示到群組的頁面,而索引所代表的頁面會變成頂端頁面。

  • lParam2:如果 lParam1 代表群組父句柄,則這個呼叫端提供的值是群組頁面中以零起始的索引。 如果 lParam1 代表屬於 hComPropSheet 所指定群組的單一頁面,則不會使用此參數。 如果使用 CPSFUNC_ADD_PCOMPROPSHEETUI 函式程式代碼取得 lParam1 指定的句柄,而且相關聯的 COMPROPSHEETUI 結構的 pDlgPage 成員設定為 CPSUI_PDLGPAGE_DOCPROP,則可以為 lParam2 指定下列其中一個值:

    • SSP_STDPAGE1 - 將 [版面配置] 頁面設為頂端頁面。

    • SSP_STDPAGE2 - 將紙張/品質頁面設為頂端頁面。

    • SSP_TVPAGE - 將進階頁面設為頂端頁面。

傳回值 (CPSFUNC_SET_HSTARTPAGE)

如果作業成功, ComPropSheet 函式會傳回為 lParam1 指定的值;否則會傳回零。

CPSFUNC_SET_PSUIPAGE_ICON

CPSFUNC_SET_PSUIPAGE_ICON函式程式代碼會使 ComPropSheet 函式新增、取代或移除指派給屬性表頁面索引標籤的圖示。

如果 lParam2 包含圖示句柄,而且目前顯示 lParam1 所指定的頁面,CPSUI 會將圖示新增至指定的頁面索引標籤。如果圖示已指派給頁面,舊圖示會取代為新的圖示。 如果 lParam2 為零,則會移除) 存在 (目前的圖示。

針對以 CPSFUNC_SET_PSUIPAGE_ICON 函式程式代碼指定的所有圖示,CPSUI 會將影像大小設定為16 x 16 圖元。

應該藉由呼叫 LoadImage來取得圖示句柄。

參數 (CPSFUNC_SET_PSUIPAGE_ICON)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 以新增、取代或移除指派給屬性表索引標籤的圖示時,將此函式程式代碼參數設定為CPSFUNC_SET_PSUIPAGE_ICON

  • lParam1:呼叫端提供的 CPSUI 頁面句柄,先前由呼叫 ComPropSheet 與下列其中一個函式程式代碼取得:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE (,並將 INSERTPSUIPAGE_INFO 結構的 Type 成員設定為 PSUIPAGEINSERT_HPROPSHEETPAGEPSUIPAGEINSERT_PROPSHEETPAGE)

  • lParam2:呼叫端提供的圖示句柄。 您可以將此參數設定為零,以移除目前的圖示

傳回值 (CPSFUNC_SET_PSUIPAGE_ICON)

如果作業成功, ComPropSheet 函式會傳回 1。 如果發生錯誤,或目前未顯示指定的頁面,則函式會傳回零。

CPSFUNC_SET_PSUIPAGE_TITLE

CPSFUNC_SET_PSUIPAGE_TITLE函式程式代碼會使 ComPropSheet 函式設定屬性表頁面的索引標籤題。

參數 (CPSFUNC_SET_PSUIPAGE_TITLE)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 時,將此函式程式碼參數設定為CPSFUNC_SET_PSUIPAGE_TITLE,以設定屬性表頁面的索引卷標標題

  • lParam1:呼叫端提供的 CPSUI 頁面句柄,先前由呼叫 ComPropSheet 與下列其中一個函式程式代碼取得:

    • CPSFUNC_ADD_HPROPSHEETPAGE

    • CPSFUNC_ADD_PROPSHEETPAGE

    • CPSFUNC_INSERT_PSUIPAGE (,並將 INSERTPSUIPAGE_INFO 結構的 Type 成員設定為 PSUIPAGEINSERT_HPROPSHEETPAGEPSUIPAGEINSERT_PROPSHEETPAGE)

  • lParam2:呼叫端提供的指標,指向指定新標題的 NULL 終止字串

傳回值 (CPSFUNC_SET_PSUIPAGE_TITLE)

如果作業成功, ComPropSheet 函式會傳回 1。 如果發生錯誤,或目前未顯示指定的頁面,則函式會傳回零。

CPSFUNC_SET_RESULT

CPSFUNC_SET_RESULT函式程式代碼會使 ComPropSheet 函式將指定的結果值傳遞至與指定頁面及其父系相關聯的所有 PFNPROPSHEETUI 型別函式。

如需如何設定結果值的詳細資訊,請參閱 SETRESULT_INFO 結構的描述。

下列注意事項適用於具有自定義UI屬性表的Unidrv或 Pscript5型 IHV UI 外掛程式,以及屬性表中所做的使用者設定應該是持續性的。 當外掛程式呼叫 ComPropSheet 函式並將 Function 參數設定為 CPSFUNC_SET_RESULT 時,外掛程式必須將 lParam2 參數設定為 CPSUI_OK

參數 (CPSFUNC_SET_RESULT)
  • hComPropSheet:群組父句柄

  • 式:呼叫者會在呼叫 ComPropSheet 時,將此函式程式碼參數設定為CPSFUNC_SET_RESULT,以將指定的結果值傳遞至與指定頁面及其父系相關聯的所有 PFNPROPSHEETUI 型別函式。

  • lParam1:呼叫端提供的 CPSUI 句柄給傳遞結果值的頁面。 如果 lParam1 為 NULL,CPSUI 會使用 hComPropSheet 所指定的值。

  • lParam2:呼叫端提供的 32 位 DWORD 結果值。

傳回值 (CPSFUNC_SET_RESULT)

如果作業成功, ComPropSheet 函式會傳回呼叫的 PFNPROPSHEETUI 型別函式數目。 如果為 lParam1 指定的句柄無效,函式會傳回 -1。

規格需求

需求
目標平台 桌面
標頭 compstui.h (包含 Compstui.h)