Share via


PSN_APPLY通知程式碼

傳送至屬性工作表中的每個頁面,以指出使用者已按一下 [確定]、[關閉] 或 [套用] 按鈕,並想要讓所有變更生效。 此通知碼會以 WM_NOTIFY 訊息的形式傳送。

PSN_APPLY 

    lppsn = (LPPSHNOTIFY) lParam; 

參數

lParam

PSHNOTIFY結構的指標,其中包含通知程式碼的相關資訊,包括頁面的識別碼。

傳回值

設定PSNRET_NOERROR,指出對此頁面所做的變更有效且已套用。 如果所有頁面都設定PSNRET_NOERROR,則可以終結屬性工作表。 若要指出對此頁面所做的變更無效,並防止屬性工作表終結,請設定下列其中一個傳回值:

  • PSNRET_INVALID。 屬性工作表將不會終結,而且焦點會傳回至此頁面。
  • PSNRET_INVALID_NOCHANGEPAGE。 屬性工作表將不會終結,而且焦點會傳回按下按鈕時具有焦點的頁面。

若要設定傳回值,頁面的對話方塊程式必須以DWL_MSGRESULT值呼叫 SetWindowLong 函式,而且對話方塊程式必須傳回 TRUE

備註

當使用者按一下 [確定]、[套用] 或 [關閉] 按鈕時,屬性工作表會將 PSN_KILLACTIVE 通知傳送至使用中頁面,讓您有機會驗證使用者的變更。 如果變更有效,屬性工作表會將PSN_APPLY通知代碼傳送至每個頁面,並將新屬性套用至對應的專案。

注意

當傳送PSN_APPLY通知碼時,屬性工作表正在動作頁面清單。 處理此通知時,請勿嘗試新增、移除或插入頁面。 這麼做會有無法預期的結果。

如果使用者按一下 [確定] 按鈕, lParam 所指向 之 PSHNOTIFY 結構的 lParam 成員會設定為 TRUE 。 如果已傳送PSM_CANCELTOCLOSE訊息,而且使用者按一下 [關閉] 按鈕,它也會設定為TRUE。 如果使用者按一下 [套用] 按鈕,則會設定為 FALSE

PSHNOTIFY結構包含NMHDR結構做為其第一個成員hdr。這個NMHDR結構的hwndFrom成員包含屬性工作表的控制碼。

處理此通知程式碼時,請勿呼叫 EndDialog 函式。

如果使用者按一下 [確定] 按鈕,而每個頁面都會傳回PSNRET_NOERROR值以回應 PSN_APPLY,則會終結強制回應屬性工作表。 如果有任何頁面傳回PSNRET_INVALID或PSNRET_INVALID_NOCHANGEPAGE,則會立即取消套用程式。 取消頁面之後的頁面將不會收到PSN_APPLY通知碼。

若要接收此通知碼,頁面必須將DWL_MSGRESULT值設定為 FALSE ,以回應 PSN_KILLACTIVE 通知碼。

注意

使用 (精靈樣式 (PSH_AEROWIZARD) 時,不支援此通知碼。

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限桌面應用程式]
標頭
Prsht.h