共用方式為


MFC ActiveX 控制: 屬性頁

屬性頁允許 ActiveX 控制項的使用者檢視和變更 ActiveX 控制項的屬性。 這些屬性以叫用控制項屬性對話方塊來存取,這個對話方塊包含一張以上的屬性頁,提供檢視和編輯控制項屬性要使用的自訂圖形介面。

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

  • 當控制項的屬性的動詞 (OLEIVERB_PROPERTIES) 是叫用,控制項會開啟獨佔式屬性] 對話方塊,其中包含控制項的屬性頁。

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

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

內容] 對話方塊

Circ3 屬性對話方塊

本文涵蓋與 ActiveX 控制項中使用屬性頁相關的主題。 這些需求包括:

  • 實作 ActiveX 控制項的 [預設] 屬性頁

  • 將控制項加入至屬性頁

  • 自訂的 DoDataExchange 函式

如需有關如何使用 ActiveX 控制項中的 [屬性頁的詳細資訊,請參閱下列文件:

如需使用 MFC 應用程式而不是 ActiveX 控制項的屬性工作表,請參閱屬性工作表 (MFC)

實作預設屬性頁

如果您使用 ActiveX 控制項精靈來建立控制項專案時,ActiveX 控制項精靈會提供預設屬性頁類別的控制項衍生自COlePropertyPage 類別。 剛開始時,此屬性頁是空白的但您可以加入任何對話方塊控制項集合。 因為 「 ActiveX 控制精靈 」 會只有一個屬性頁類別建立根據預設,額外的屬性頁類別 (也衍生自COlePropertyPage) 必須使用類別檢視來建立。 如需有關此程序的詳細資訊,請參閱MFC ActiveX 控制項: 加入另一個自訂屬性頁

實作屬性頁 (在此情況下,預設值) 是三個步驟的程序:

若要實作的屬性頁

  1. 新增COlePropertyPage-衍生控制項專案的類別。 如果使用 ActiveX 控制項精靈 (如同在此情況下) 來建立專案後,預設屬性頁類別已經存在。

  2. 使用對話方塊編輯器來將任何控制項加入屬性頁樣板。

  3. 自訂DoDataExchange函式的COlePropertyPage-衍生的類別來交換屬性頁] 控制項和 ActiveX 控制項之間的值。

例如下列的程序的目的使用簡單的控制項 (名為"Sample")。 範例使用 ActiveX 控制項精靈所建立,並包含內建標題屬性。

將控制項加入至屬性頁

若要將控制項加入屬性頁

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

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

  3. 開啟 IDD_PROPPAGE_SAMPLE 對話方塊。

    ActiveX 控制項精靈的對話方塊 ID,如此一來,範例後面附加專案的名稱。

  4. 拖放選取的控制項從工具箱拖曳至對話方塊區域。

  5. 這個範例中,為文字標籤控制項"標題:",並使用編輯方塊控制項 IDC_CAPTION 識別項就足夠了。

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

既然已經被修改的使用者介面,您要連結的編輯方塊與 [標題] 屬性。 這是在下列區段中藉由編輯CSamplePropPage::DoDataExchange函式。

自訂 DoDataExchange 函式

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

使用屬性頁實作這些對應 DDP_ 函式。 DDP_ 函式 DDX_ 用於標準 MFC 對話方塊中,有一個例外狀況的函式。 除了參考成員變數, DDP_ 函式都接受控制項屬性的名稱。 下面是一個典型的項目,在DoDataExchange內容頁的函式。

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

這項功能將相關聯的屬性頁的m_caption成員變數,標題為使用DDP_TEXT函式。

插入屬性頁] 控制項之後,您必須建立屬性頁] 控制項之間的連結IDC_CAPTION,以及實際的控制項屬性,標題為: 使用 DDP_Text 如上文所述般的執行。

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

屬性頁函式

函式名稱

這可以用來連結

DDP_CBIndex

控制項屬性與下拉式方塊中選取的字串的索引。

DDP_CBString

控制項屬性與下拉式方塊中選取的字串。 選取的字串可以以字母為首的同一個做為屬性的值,但需要不一定要完全符合。

DDP_CBStringExact

控制項屬性與下拉式方塊中選取的字串。 選取的字串與屬性的字串值必須完全符合。

DDP_Check

與控制項屬性的核取方塊。

DDP_LBIndex

控制項屬性與清單方塊中選取的字串的索引。

DDP_LBString

控制項屬性與清單方塊中選取的字串。 選取的字串可以以字母為首的同一個做為屬性的值,但需要不一定要完全符合。

DDP_LBStringExact

控制項屬性與清單方塊中選取的字串。 選取的字串與屬性的字串值必須完全符合。

DDP_Radio

控制項屬性與選項按鈕。

DDP_Text

與控制項屬性的文字。

請參閱

參考

COlePropertyPage 類別

概念

MFC ActiveX 控制項