CPropertySheet::DoModal
顯示強制回應屬性工作表。
virtual INT_PTR DoModal();
傳回值
IDOK 或 IDCANCEL ,如果函式成功,則為 0 或-1。 如果屬性工作表建立為精靈 (請參閱), SetWizardModeDoModal 傳回 ID_WIZFINISH 或 IDCANCEL。
備註
傳回值會對應到關閉屬性工作表上控制項的 ID。 在這個函式傳回之後,會終結已使用屬性工作表和所有頁面相對應的視窗。 物件存在。 通常,在 DoModal ,傳回 IDOK之後,您 CPropertyPage 從物件中擷取資料。
若要顯示非強制回應屬性工作表,請呼叫 建立 。
在屬性頁與其對應的對話方塊資源時建立,它可能會導致第一個可能發生的例外狀況。 在 頁面上,建立之前,這是因為用來變更對話方塊資源的樣式的屬性頁加入至所需的模式。 由於資源通常是唯讀的,這會導致例外狀況。 系統會處理例外狀況,並製作修改的資源。 因此第一個可能發生的例外狀況會被忽略。
注意事項 |
---|
如果以編譯,非同步例外處理模型,必須由作業系統處理這個例外狀況。如需例外狀況處理模型的詳細資訊,請參閱 /EH (例外狀況處理模型)。在這個案例中,不要包裝呼叫具有 C ++. catch 處理所有例外狀況,例如, catch (...)的 try-catch 區塊中 CPropertySheet::DoModal 。這個區塊處理提供作業系統使用的例外狀況,且會導致無法預期的行為。不過,您可以安全地使用 C++ 例外狀況處理特定例外狀況類型或結構化例外狀況處理存取違規例外狀況傳遞至作業系統的位置。 |
若要避免產生這第一個可能發生的例外狀況,您可以手動確認屬性工作表具有正確的 視窗樣式。。 您需要將屬性工作表的下列模式:
DS_3DLOOK
DS_CONTROL
WS_CHILD
WS_TABSTOP
您可以使用下列選擇性樣式,而不會產生第一個可能發生的例外狀況:
DS_SHELLFONT
DS_LOCALEDIT
WS_CLIPCHILDREN。
因為它們不是與屬性工作表的相容,請停用其他視窗樣式。 這項建議不適用於延伸樣式。 設定這些標準樣式適當地確定不需要修改屬性工作表並不會產生第一個可能發生的例外狀況。
範例
CPropertySheet::AddPage。請參閱範例。
需求
標題: afxdlgs.h