CSnapInPropertyPageImpl 類別
這個類別提供實作嵌入式管理單元屬性頁物件的方法。
重要
這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。
語法
CSnapInPropertyPageImpl : public CDialogImplBase
成員
公用建構函式
名稱 | 描述 |
---|---|
CSnapInPropertyPageImpl::CSnapInPropertyPageImpl | 建構函式。 |
公用方法
名稱 | 描述 |
---|---|
CSnapInPropertyPageImpl::CancelToClose | 變更 [確定] 和 [取消] 按鈕的狀態。 |
CSnapInPropertyPageImpl::Create | 初始化新建立 CSnapInPropertyPageImpl 的物件。 |
CSnapInPropertyPageImpl::OnApply | 當使用者在使用精靈類型屬性表時按兩下 [ 立即 套用] 按鈕時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnHelp | 當使用者在使用精靈類型屬性表時按兩下 [說明 ] 按鈕時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnKillActive | 當目前頁面不再使用時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnQueryCancel | 當使用者按兩下 [ 取消 ] 按鈕,並在取消發生之前,由架構呼叫。 |
CSnapInPropertyPageImpl::OnReset | 當使用者在使用精靈類型屬性表時按兩下 [ 重設 ] 按鈕時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnSetActive | 當目前頁面變成使用中時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnWizardBack | 當使用者在使用精靈類型屬性表時按兩下 [上一頁 ] 按鈕時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnWizardFinish | 當使用者在使用精靈類型屬性表時按兩下 [完成 ] 按鈕時,由架構呼叫。 |
CSnapInPropertyPageImpl::OnWizardNext | 當使用者在使用精靈類型屬性表時按兩下一 步 按鈕時,由架構呼叫。 |
CSnapInPropertyPageImpl::QuerySiblings | 將目前的訊息轉送至屬性表的所有頁面。 |
CSnapInPropertyPageImpl::SetModified | 呼叫 以啟動或停用 [ 立即 套用] 按鈕。 |
公用資料成員
名稱 | 描述 |
---|---|
CSnapInPropertyPageImpl::m_psp | 物件所使用的 CSnapInPropertyPageImpl Windows PROPSHEETPAGE 結構。 |
備註
CSnapInPropertyPageImpl
提供嵌入式管理單元屬性頁物件的基本實作。 嵌入式管理單元屬性頁的基本功能是使用數個不同的介面和對應類型來實作。
繼承階層架構
CDialogImplBase
CSnapInPropertyPageImpl
需求
標頭: atlsnap.h
CSnapInPropertyPageImpl::CancelToClose
在對強制回應屬性表頁面中的數據進行無法復原的變更之後,呼叫此函式。
void CancelToClose();
備註
此函式會將 [ 確定] 按鈕變更為 [關閉 ],並停用 [ 取消] 按鈕。 這項變更會提醒用戶變更是永久的,而且無法取消修改。
成員 CancelToClose
函式不會在無模式屬性表中執行任何動作,因為無模式屬性表預設沒有 [取消 ] 按鈕。
CSnapInPropertyPageImpl::CSnapInPropertyPageImpl
建構 CSnapInPropertyPageImpl
物件。
CSnapInPropertyPageImpl(LPCTSTR lpszTitle = NULL);
參數
lpszTitle
[in]屬性頁的標題。
備註
若要初始化基礎結構,請呼叫 CSnapInPropertyPageImpl::Create。
CSnapInPropertyPageImpl::Create
呼叫此函式,以初始化屬性頁的基礎結構。
HPROPSHEETPAGE Create();
傳回值
結構的句柄 PROPSHEETPAGE
,其中包含新建立之屬性表的屬性。
備註
呼叫此函式之前,您應該先呼叫 CSnapInPropertyPageImpl::CSnapInPropertyPageImpl 。
CSnapInPropertyPageImpl::m_psp
m_psp
是結構,其成員會儲存的特性 PROPSHEETPAGE
。
PROPSHEETPAGE m_psp;
備註
使用此結構來初始化屬性頁建構之後的外觀。
如需此結構的詳細資訊,包括其成員的清單,請參閱 Windows SDK 中的 PROPSHEETPAGE 。
CSnapInPropertyPageImpl::OnApply
當使用者按兩下 [ 確定 ] 或 [ 立即 套用] 按鈕時,就會呼叫此成員函式。
BOOL OnApply();
傳回值
如果接受變更,則為非零;否則為 0。
備註
您 OnApply
必須先呼叫 並將其參數設定為TRUE,才能由架構呼叫 SetModified
。 當使用者在屬性頁面上進行變更時,這會立即啟動 [立即 套用] 按鈕。
覆寫此成員函式,以指定當使用者按兩下 [立即 套用] 按鈕時,您的程式採取什麼動作。 覆寫時,函式應該會傳回 TRUE 以接受變更和 FALSE,以防止變更生效。
的預設實作 OnApply
會傳回TRUE。
CSnapInPropertyPageImpl::OnHelp
當使用者按下 屬性頁的 [說明 ] 按鈕時,就會呼叫此成員函式。
void OnHelp();
備註
覆寫此成員函式以顯示屬性頁的說明。
CSnapInPropertyPageImpl::OnKillActive
當頁面不再是使用中頁面時,就會呼叫這個成員函式。
BOOL OnKillActive();
傳回值
如果已成功更新數據,則為非零;否則為 0。
備註
覆寫此成員函式以執行特殊數據驗證工作。
CSnapInPropertyPageImpl::OnQueryCancel
當使用者按兩下 [ 取消 ] 按鈕,並在取消動作發生之前呼叫此成員函式。
BOOL OnQueryCancel();
傳回值
非零允許取消作業;否則為 0。
備註
覆寫此成員函式,以指定當使用者按兩下 [ 取消 ] 按鈕時程式所採取動作。
的預設實作 OnQueryCancel
會傳回TRUE。
CSnapInPropertyPageImpl::OnReset
當使用者按兩下 [ 取消 ] 按鈕時,就會呼叫此成員函式。
void OnReset();
備註
呼叫此函式時,會捨棄使用者先前按兩下 [立即 套用] 按鈕所做的所有屬性頁變更,而屬性表會保留焦點。
覆寫此成員函式,以指定當使用者按兩下 [ 取消 ] 按鈕時程序採取什麼動作。
CSnapInPropertyPageImpl::OnSetActive
當使用者選擇頁面並成為使用中頁面時,就會呼叫此成員函式。
BOOL OnSetActive();
傳回值
如果頁面已成功設定為使用中,則為非零;否則為 0。
備註
覆寫此成員函式,以在啟用頁面時執行工作。 此成員函式的覆寫應該在完成任何其他處理之前呼叫預設版本。
默認實作會傳回 TRUE。
CSnapInPropertyPageImpl::OnWizardBack
當使用者按兩下 精靈中的 [上一頁 ] 按鈕時,就會呼叫此成員函式。
BOOL OnWizardBack();
傳回值
0 以自動前進到上一頁。
-1 以防止頁面變更。
若要跳至下一頁以外的頁面,請傳回要顯示的對話框標識碼。
備註
覆寫此成員函式,以指定按兩下 [上一步] 按鈕時用戶必須採取的一些動作。
CSnapInPropertyPageImpl::OnWizardFinish
當使用者按兩下 精靈中的 [完成] 按鈕時,就會呼叫此成員函式。
BOOL OnWizardFinish();
傳回值
當精靈完成時,如果屬性表被終結,則為非零;否則為零。
備註
覆寫此成員函式,以指定按下 [完成] 按鈕時用戶必須採取的一些動作。
CSnapInPropertyPageImpl::OnWizardNext
當使用者按兩下 精靈中的 [下一步 ] 按鈕時,就會呼叫此成員函式。
BOOL OnWizardNext();
傳回值
0 以自動前進到下一頁。
-1 以防止頁面變更。
若要跳至下一頁以外的頁面,請傳回要顯示的對話框標識碼。
備註
覆寫此成員函式,以指定使用者按下 [ 下一步 ] 按鈕時必須採取的一些動作。
CSnapInPropertyPageImpl::QuerySiblings
呼叫這個成員函式,將訊息轉送至屬性表中的每個頁面。
LRESULT QuerySiblings(WPARAM wParam, LPARAM lParam);
參數
wParam
[in]指定其他訊息相依資訊。
lParam
[in]指定其他訊息相依資訊。
傳回值
如果訊息不應轉寄至下一個屬性頁,則為非零;否則為零。
備註
如果頁面傳回非零值,則屬性表不會將訊息傳送至後續頁面。
CSnapInPropertyPageImpl::SetModified
呼叫這個成員函式,根據屬性頁中的設定是否應套用至適當的外部物件,啟用或停用 [立即套 用] 按鈕。
void SetModified(BOOL bChanged = TRUE);
參數
bChanged
[in]TRUE 表示屬性頁設定自上次套用以來已修改;FALSE 表示已套用屬性頁設定,或應該忽略。
備註
屬性表會追蹤哪些頁面為「骯髒」,也就是您已呼叫 SetModified( TRUE )
的屬性頁。 如果您呼叫SetModified( TRUE )
其中一個頁面,一律會啟用 [立即套用] 按鈕。 當您呼叫SetModified( FALSE )
其中一個頁面時,將會停用 [立即套用] 按鈕,但前提是沒有其他頁面是「肮髒」的。