共用方式為


在應用程式中使用屬性工作表

若要在您的應用程式中使用屬性工作表,請完成下列步驟:

  1. 建立每個屬性頁的對話方塊範本資源。 記住使用者可能在各個頁面間切換,因此盡可能一致地配置每一頁。

    所有頁面的對話方塊範本不一定要有相同的大小。 架構會使用最大頁面的大小來決定對於屬性頁要在屬性工作表中配置多少空間。

    當您建立屬性頁的對話方塊樣板資源時,您必須在對話屬性的屬性工作表中指定下列樣式:

    • 將 [一般 ] 頁面上的 [ 標題 ] 編輯方塊設定為您想要出現在此頁面索引標籤中的文字。

    • [樣式] 頁面上的 [樣式 ] 清單方塊設定為 [子系 ]。

    • [樣式 ] 頁面上的 [框線 ] 清單方塊設定為 [精簡 ]。

    • 確定已選取 [樣式 ] 頁面上的 [標題列 ] 核取方塊。

    • 確定 已選取 [更多樣式 ] 頁面上的 [已停用 ] 核取方塊。

  2. 建立 對應至每個屬性頁對話方塊範本的 CPropertyPage 衍生類別。 請參閱 新增類別 。 選擇 CPropertyPage 做為基底類別。

  3. 建立成員變數來保存此屬性頁的值。 因為屬性頁是特別的對話方塊,將成員變數加入屬性頁的程序與將成員變數加入對話方塊的程序完全相同。 如需詳細資訊,請參閱 定義對話方塊控制項 的成員變數。

  4. 在原始程式碼中建構 CPropertySheet 物件。 通常,您會針對顯示屬性工作表的命令,在處理常式中建構 CPropertySheet 物件。 這個物件代表整個屬性工作表。 如果您使用 DoModal 函式建立強制回應屬性工作表 ,架構預設會提供三個命令按鈕:[確定]、[取消] 和 [套用]。 架構不會為使用 Create 函式建立的 無模式屬性工作表建立任何命令按鈕。 除非您要加入其他控制項 (例如預覽視窗) 或顯示非強制回應屬性工作表,否則不需要從 CPropertySheet 衍生類別。 對於非強制回應屬性工作表此步驟是必要的,因為它們不含可以用來關閉屬性工作表的任何預設控制項。

  5. 對於要加入至屬性工作表的每個頁面,請執行下列步驟:

    • 為您在這個程序中稍早建立的每個 CPropertyPage 衍生類別建構一個物件。

    • 針對每個頁面呼叫 CPropertySheet::AddPage

    通常,建立 CPropertySheet 的物件也會在這個步驟中建立 CPropertyPage 物件。 不過,如果您實作 CPropertySheet 衍生類別,您可以在 CPropertyPage 物件中內嵌 CPropertySheet 物件,以及從 AddPage 衍生類別建構函式為每個頁面呼叫 CPropertySheetAddPage 會將 CPropertyPage 物件加入至屬性工作表的頁面清單中,但實際上不會建立該頁面的視窗。 因此,不必一直等到建立屬性工作表視窗才呼叫 AddPage;您可以從屬性工作表的建構函式呼叫 AddPage

    根據預設,如果屬性工作表所擁有的索引標籤數目比屬性工作表單一列能夠容納的還多,索引標籤就會堆疊在多列當中。 若要停用堆疊,請呼叫 CPropertySheet::EnableStackedTabs ,並將 參數設定為 FALSE 。 在建立屬性工作表時,您必須呼叫 EnableStackedTabs

  6. 呼叫 CPropertySheet::D oModal Create 以顯示內容表。 呼叫 DoModal 將屬性工作表建立為強制回應對話方塊。 呼叫 [建立 ] 以建立屬性工作表做為無強制回應對話方塊。

  7. 在屬性頁和屬性工作表的擁有者之間交換資料。 這在交換資料 一文 中說明。

如需如何使用屬性工作表的範例,請參閱 MFC 一般範例 PROPDLG

另請參閱

屬性工作表