共用方式為


MFC ActiveX 控制項:屬性頁

屬性頁可讓 ActiveX 控制項使用者檢視及變更 ActiveX 控制項屬性。 藉由叫用控制項屬性對話方塊來存取這些屬性,其中包含一或多個屬性頁,提供自訂的圖形化介面來檢視和編輯控制項屬性。

重要

ActiveX 是不應該用於新開發的舊版技術。 如需取代 ActiveX 的新式技術詳細資訊,請參閱 ActiveX 控制項

ActiveX 控制項屬性頁會以兩種方式顯示:

  • 叫用控制項的 Properties 動詞命令 ( OLEIVERB_PROPERTIES ) 時,控制項會開啟包含控制項屬性頁的強制回應屬性對話方塊。

  • 容器可以顯示它自己的無強制回應對話方塊,以顯示所選取控制項的屬性頁。

[屬性] 對話方塊(如下圖所示)包含一個區域,用來顯示目前的屬性頁、在屬性頁之間切換的索引標籤,以及執行一般工作的按鈕集合,例如關閉屬性頁對話方塊、取消所做的任何變更,或立即將任何變更套用至 ActiveX 控制項。

Properties dialog box for Circ3.
屬性對話方塊

本文涵蓋在 ActiveX 控制項中使用屬性頁的相關主題。 包括:

如需在 ActiveX 控制項中使用屬性頁的詳細資訊,請參閱下列文章:

如需在 ActiveX 控制項以外的 MFC 應用程式中使用屬性工作表的詳細資訊,請參閱 屬性工作表

實作預設屬性頁

如果您使用 ActiveX 控制項精靈來建立控制項專案,ActiveX 控制項精靈會為衍生自 COlePropertyPage 類別的控制項提供預設屬性頁類別 。 一開始,這個屬性頁是空白的,但您可以將任何對話方塊控制項或一組控制項加入其中。 因為 ActiveX 控制項精靈預設只會建立一個屬性頁類別,因此必須使用 [類別檢視] 建立其他屬性頁類別(也衍生自 COlePropertyPage )。 如需此程式的詳細資訊,請參閱 MFC ActiveX 控制項:新增另一個自訂屬性頁

實作屬性頁(在此案例中為預設值)是三個步驟的程式:

實作屬性頁

  1. COlePropertyPage將衍生類別新增至控制項專案。 如果專案是使用 ActiveX 控制項精靈建立的,則預設屬性頁類別已經存在。

  2. 使用對話方塊編輯器,將任何控制項新增至屬性頁範本。

  3. DoDataExchange自訂 衍生類別的 COlePropertyPage 函式,以在屬性頁控制項與 ActiveX 控制項之間交換值。

例如,下列程式會使用簡單的控制項(名為 「Sample」 )。 範例是使用 ActiveX 控制項精靈建立的,只包含 stock Caption 屬性。

將控制項新增至屬性頁

將控制項新增至屬性頁

  1. 開啟控制項專案後,開啟 [資源檢視]。

  2. 按兩下對話方塊 目錄圖示。

  3. 開啟 [IDD_PROPPAGE_SAMPLE] 對話方塊。

    ActiveX 控制項精靈會將專案的名稱附加至對話方塊識別碼的結尾,在此案例中為 Sample。

  4. 將選取的控制項從 [工具箱] 拖放到對話方塊區域。

  5. 在此範例中,文字標籤控制項 「Caption :」 和具有IDC_CAPTION識別碼的編輯方塊控制項就已足夠。

  6. 按一下工具列上的 [ 儲存 ] 以儲存變更。

現在使用者介面已經過修改,您必須將編輯方塊與 Caption 屬性連結。 這會透過編輯 函 CSamplePropPage::DoDataExchange 式,在下一節中完成。

自訂 DoDataExchange 函式

您的屬性頁 CWnd::D oDataExchange 函式可讓您連結屬性值與控制項中屬性的實際值。 若要建立連結,您必須將適當的屬性頁欄位對應至其各自的控制項屬性。

這些對應是使用屬性頁 DDP_函式來實作 DDP_ 函式的運作方式與標準 MFC 對話方塊中所使用的DDX_ 函式類似 ,但有一個例外狀況。 除了成員變數的參考之外, DDP_函式 會取得控制項屬性的名稱。 以下是屬性頁函式中的 DoDataExchange 一般專案。

DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));

此函式會使用 DDP_TEXT 函式,將屬性頁m_標題 成員變數與 Caption 產生關聯。

插入屬性頁控制項之後,您必須使用 DDP_Text 上述函式,在屬性頁控制項、IDC_CAPTION和實際控制項屬性 Caption 之間建立連結。

屬性頁 可用於其他對話方塊控制項類型,例如核取方塊、選項按鈕和清單方塊。 下表列出整個屬性頁 DDP_函式 及其用途:

屬性頁函式

函式名稱 使用此函式連結
DDP_CBIndex 下拉式方塊中具有控制項屬性的選取字串索引。
DDP_CBString 下拉式方塊中具有控制項屬性的選取字串。 選取的字串可以以與屬性值相同的字母開頭,但不需要完全相符。
DDP_CBStringExact 下拉式方塊中具有控制項屬性的選取字串。 選取的字串和屬性的字串值必須完全符合。
DDP_Check 具有控制項屬性的核取方塊。
DDP_LBIndex 清單方塊中具有控制項屬性的選取字串索引。
DDP_LBString 清單方塊中具有控制項屬性的選取字串。 選取的字串可以以與屬性值相同的字母開頭,但不需要完全相符。
DDP_LBStringExact 清單方塊中具有控制項屬性的選取字串。 選取的字串和屬性的字串值必須完全符合。
DDP_Radio 具有控制項屬性的選項按鈕。
DDP_Text 具有控制項屬性的文字。

另請參閱

MFC ActiveX 控制項
COlePropertyPage 類別