共用方式為


CMFCPropertyGridProperty 類別

CMFCPropertyGridProperty物件代表屬性清單控制項中的清單專案。

如需詳細資訊,請參閱位於 Visual Studio 安裝資料夾中的原始程式碼 mfc 。 例如: %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc

語法

class CMFCPropertyGridProperty : public CObject

成員

公用建構函式

名稱 描述
CMFCPropertyGridProperty::CMFCPropertyGridProperty 建構 CMFCPropertyGridProperty 物件。
CMFCPropertyGridProperty::~CMFCPropertyGridProperty 解構函式。

公用方法

名稱 描述
CMFCPropertyGridProperty::AddOption 將新的清單專案加入至屬性清單控制項。
CMFCPropertyGridProperty::AddSubItem 將子專案加入至 屬性。
CMFCPropertyGridProperty::AdjustButtonRect 由父屬性清單控制項呼叫,告知屬性調整內嵌按鈕周框的大小。
CMFCPropertyGridProperty::AdjustInPlaceEditRect 擷取文字方塊的界限,以及用來設定屬性值的選擇性微調按鈕控制項。
CMFCPropertyGridProperty::AllowEdit 讓屬性成為可編輯或唯讀的屬性。
CMFCPropertyGridProperty::CreateInPlaceEdit 由架構呼叫,以建立屬性的可編輯控制項。
CMFCPropertyGridProperty::CreateSpinControl 由架構呼叫以建立可編輯的微調按鈕控制項。
CMFCPropertyGridProperty::Enable 啟用或停用屬性。
CMFCPropertyGridProperty::EnableSpinControl 啟用或停用用來修改屬性值的微調按鈕控制項。
CMFCPropertyGridProperty::Expand 展開或折迭包含子屬性的屬性。
CMFCPropertyGridProperty::FormatProperty 格式化屬性值的文字表示法。
CMFCPropertyGridProperty::GetData 擷取與 屬性相關聯的 DWORD 值。
CMFCPropertyGridProperty::GetDescription 擷取屬性描述。
CMFCPropertyGridProperty::GetExpandedSubItems 擷取展開的子專案數目。
CMFCPropertyGridProperty::GetHierarchyLevel 擷取屬性階層層級之以零起始的索引。
CMFCPropertyGridProperty::GetName 擷取屬性的名稱。
CMFCPropertyGridProperty::GetNameTooltip 由架構呼叫,以在工具提示中顯示內容的名稱。
CMFCPropertyGridProperty::GetOption 擷取索引所指定之選項的文字。
CMFCPropertyGridProperty::GetOptionCount 擷取屬於屬性的選項數目。
CMFCPropertyGridProperty::GetOriginalValue 擷取目前屬性的初始值。
CMFCPropertyGridProperty::GetParent 擷取父屬性的指標。
CMFCPropertyGridProperty::GetRect 擷取屬性的周框。
CMFCPropertyGridProperty::GetSubItem 擷取以零起始的索引所識別的子屬性。
CMFCPropertyGridProperty::GetSubItemsCount 擷取子專案的數目。
CMFCPropertyGridProperty::GetThisClass 由架構用來取得與這個類別類型相關聯之物件的指標 CRuntimeClass
CMFCPropertyGridProperty::GetValue 擷取屬性值。
CMFCPropertyGridProperty::GetValueTooltip 由架構呼叫以擷取屬性值的文字表示,然後顯示在工具提示中。
CMFCPropertyGridProperty::HitTest 指向對應至對應至點之屬性清單專案的屬性物件。
CMFCPropertyGridProperty::IsAllowEdit 指出屬性是否可編輯。
CMFCPropertyGridProperty::IsEnabled 指出屬性是啟用還是停用。
CMFCPropertyGridProperty::IsExpanded 指出屬性是否已展開或折迭。
CMFCPropertyGridProperty::IsGroup 指出目前屬性是否代表群組。
CMFCPropertyGridProperty::IsInPlaceEditing 指出目前屬性是否可編輯。
CMFCPropertyGridProperty::IsModified 指出目前屬性是否已修改。
CMFCPropertyGridProperty::IsParentExpanded 指出目前屬性的父系是否已展開。
CMFCPropertyGridProperty::IsSelected 指出是否已選取目前屬性。
CMFCPropertyGridProperty::IsVisible 指出目前屬性是否可見。
CMFCPropertyGridProperty::OnClickButton 當使用者選取屬性中包含的按鈕時,由架構呼叫。
CMFCPropertyGridProperty::OnClickName 當使用者選取屬性的名稱欄位時,由父屬性清單控制項呼叫。
CMFCPropertyGridProperty::OnClickValue 當使用者選取屬性的值欄位時,由父屬性清單控制項呼叫。
CMFCPropertyGridProperty::OnCloseCombo 當屬性中包含的下拉式方塊關閉時,由架構呼叫。
CMFCPropertyGridProperty::OnDblClk 當使用者按兩下屬性時,由架構呼叫。
CMFCPropertyGridProperty::OnDrawButton 由架構呼叫以繪製 包含在 屬性中的按鈕。
CMFCPropertyGridProperty::OnDrawDescription 由架構呼叫以顯示內容描述。
CMFCPropertyGridProperty::OnDrawExpandBox 由架構呼叫,以在包含子屬性的屬性附近繪製展開方塊控制項。
CMFCPropertyGridProperty::OnDrawName 由架構呼叫以顯示內容名稱。
CMFCPropertyGridProperty::OnDrawValue 由架構呼叫以顯示屬性值。
CMFCPropertyGridProperty::OnEdit 使用者即將修改屬性值時由架構呼叫。
CMFCPropertyGridProperty::OnEndEdit 當使用者完成修改屬性值時,由架構呼叫。
CMFCPropertyGridProperty::OnKillSelection
CMFCPropertyGridProperty::OnPosSizeChanged
CMFCPropertyGridProperty::OnRClickName 當使用者在屬性名稱區域中選取滑鼠右鍵時,由架構呼叫。
CMFCPropertyGridProperty::OnRClickValue 當使用者在屬性值區域中選取滑鼠右鍵時,由架構呼叫。
CMFCPropertyGridProperty::OnSelectCombo 當使用者從可編輯下拉式方塊中選取專案時,由架構呼叫。
CMFCPropertyGridProperty::OnSetCursor 當滑鼠指標移至屬性專案時,由架構呼叫。
CMFCPropertyGridProperty::OnSetSelection
CMFCPropertyGridProperty::OnUpdateValue 當可編輯屬性的值變更時由架構呼叫。
CMFCPropertyGridProperty::PushChar 當選取 屬性且使用者輸入新字元時,從屬性清單控制項呼叫。
CMFCPropertyGridProperty::Redraw 重新繪製 屬性。
CMFCPropertyGridProperty::RemoveAllOptions 從 屬性中移除所有選項(專案)。
CMFCPropertyGridProperty::RemoveSubItem 移除指定的子專案。
CMFCPropertyGridProperty::ResetOriginalValue 還原已編輯屬性的原始值。
CMFCPropertyGridProperty::SetData 將 DWORD 值與 屬性產生關聯。
CMFCPropertyGridProperty::SetDescription 指定描述目前屬性的文字。
CMFCPropertyGridProperty::SetName 設定屬性的名稱。
CMFCPropertyGridProperty::SetOriginalValue 設定可編輯屬性的原始值。
CMFCPropertyGridProperty::SetValue 設定屬性方格屬性的值。
CMFCPropertyGridProperty::Show 顯示或隱藏屬性。

受保護的方法

名稱 描述
CMFCPropertyGridProperty::CreateCombo 由架構呼叫,以將下拉式方塊新增至 屬性。
CMFCPropertyGridProperty::HasButton 指出屬性是否包含按鈕。
CMFCPropertyGridProperty::Init 由架構呼叫以初始化屬性物件。
CMFCPropertyGridProperty::IsSubItem 指出指定的屬性是否為目前屬性的子專案。
CMFCPropertyGridProperty::IsValueChanged 指出目前屬性的值是否已變更。
CMFCPropertyGridProperty::OnCtlColor 架構必須擷取筆刷以填滿屬性的背景色彩時呼叫。
CMFCPropertyGridProperty::OnDestroyWindow 當屬性終結或編輯完成時,由架構呼叫。
CMFCPropertyGridProperty::OnKillFocus 當 屬性失去輸入焦點時,由架構呼叫。

資料成員

名稱 描述
CMFCPropertyGridProperty::m_strFormatDouble double 類型的值格式化字串。
CMFCPropertyGridProperty::m_strFormatFloat float 類型的值格式化字串。
CMFCPropertyGridProperty::m_strFormatLong long 類型的值格式字串。
CMFCPropertyGridProperty::m_strFormatShort 為 short 類型的值格式化字串。

備註

CMFCPropertyGridProperty使用 物件來表示屬性,然後新增至屬性清單控制項。 如需詳細資訊,請參閱 CMFCPropertyGridCtrl 類別

屬性物件可以代表資料類型,例如字串、日期和布林值或整數值。 它可以包含子屬性,也可以包含控制項,例如下拉式方塊或按鈕控制項。

範例

下列範例示範如何建構 CMFCPropertyGridProperty 物件。 此範例也會示範如何使用 類別中的 CMFCPropertyGridProperty 各種方法來新增選項、新增子專案、啟用屬性,以及顯示內容。 此範例是 New Controls 範例 一部分。

CMFCPropertyGridProperty *pGroup1 = new CMFCPropertyGridProperty(_T("Appearance"));

// construct a COleVariant object.
COleVariant var3DLook((short)VARIANT_FALSE, VT_BOOL);

pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("3D Look"), var3DLook,
                                                 _T("Specifies the dialog's font will be nonbold and controls will have a 3D border")));

CMFCPropertyGridProperty *pProp = new CMFCPropertyGridProperty(_T("Border"),
                                                               _T("Dialog Frame"), _T("One of: None, Thin, Resizable, or Dialog Frame"));
pProp->AddOption(_T("None"));
pProp->AddOption(_T("Thin"));
pProp->AddOption(_T("Resizable"));
pProp->AddOption(_T("Dialog Frame"));
pProp->AllowEdit(FALSE);

pGroup1->AddSubItem(pProp);
pGroup1->AddSubItem(new CMFCPropertyGridProperty(_T("Caption"), (COleVariant) _T("About NewControlsDemo"), _T("Specifies the text that will be displayed in the dialog's title bar")));
pGroup1->AdjustButtonRect();
pGroup1->AllowEdit();
pGroup1->Enable();
pGroup1->Show();
pGroup1->Redraw();

繼承階層架構

CObject

CMFCPropertyGridProperty

需求

標頭:afxpropertygridctrl.h

CMFCPropertyGridProperty::AddOption

將新的清單專案加入至屬性清單控制項。

BOOL AddOption(
    LPCTSTR lpszOption,
    BOOL bInsertUnique=TRUE);

參數

lpszOption
[in]要新增的清單專案(選項)。

bInsertUnique
[in] TRUE 只有在清單專案不存在時,才新增清單專案;否則為 FALSE 。 預設值是 TRUE

傳回值

TRUE,這表示已新增清單專案。 否則, FALSE 這表示不會新增清單專案,因為 bInsertUnique 參數是 TRUE ,而且參數所 lpszOption 指定的清單專案已經存在。

CMFCPropertyGridProperty::AddSubItem

將子專案加入至 屬性。

BOOL AddSubItem(CMFCPropertyGridProperty* pProp);

參數

pProp
[in]要加入之屬性的指標。

傳回值

TRUE 如果成功將指定的屬性新增為子屬性,則為 。 FALSE 如果未新增 屬性,因為它已經發生在父屬性中。

備註

使用此方法建立父屬性和子屬性的階層式清單。 新增子屬性之後,父屬性會自動顯示由加號 ( + ) 指定的展開方塊控制項。 當使用者選取加號時,父屬性會展開並顯示任何子屬性專案。

CMFCPropertyGridProperty::AdjustButtonRect

由父屬性清單控制項呼叫,告知屬性調整內嵌按鈕周框的大小。

virtual void AdjustButtonRect();

備註

根據預設,這個方法:

  • 調整按鈕寬度,等於按鈕的高度加上三個圖元。
  • 將按鈕的周框移至屬性的右邊緣。
  • 將按鈕 1 圖元移位在 屬性的上邊緣下方。

CMFCPropertyGridProperty::AdjustInPlaceEditRect

擷取文字方塊的界限,以及用來設定屬性值的選擇性微調按鈕控制項。

virtual void AdjustInPlaceEditRect(
    CRect& rectEdit,
    CRect& rectSpin);

參數

rectEdit
[out]當這個方法傳回時,指定屬性值文字方塊界限的矩形。

rectSpin
[out]當這個方法傳回時,指定屬性值微調按鈕控制項界限的矩形。 或者,如果 屬性不支援微調按鈕,則為空白矩形。

備註

屬性的值區域是由文字方塊和可能 的選項按鈕所組成,例如微調按鈕 控制項。 這個方法會計算文字方塊和選項按鈕的維度,然後在指定的參數中傳回這些值。

CMFCPropertyGridProperty::AllowEdit

讓屬性成為可編輯或唯讀的屬性。

void AllowEdit(BOOL bAllow=TRUE);

參數

bAllow
[in] TRUE 表示可編輯屬性; FALSE 將 屬性設為唯讀。 預設值是 TRUE

CMFCPropertyGridProperty::CMFCPropertyGridProperty

建構 CMFCPropertyGridProperty 物件。

CMFCPropertyGridProperty(
    const CString& strGroupName,
    DWORD_PTR dwData=0,
    BOOL bIsValueList=FALSE);

CMFCPropertyGridProperty(
    const CString& strName,
    const _variant_t& varValue,
    LPCTSTR lpszDescr=NULL,
    DWORD_PTR dwData=0,
    LPCTSTR lpszEditMask=NULL,
    LPCTSTR lpszEditTemplate=NULL,
    LPCTSTR lpszValidChars=NULL);

參數

strGroupName
[in]組名。 群組 是屬性方格控制項中相關屬性的集合。 如果控制項以階層方式顯示, 組名 會顯示為群組上方資料列中的類別標題。

dwData
[in]應用程式特定的資料,例如整數或與 屬性相關聯的其他資料的指標。 預設值是 0。

strName
[in]屬性的名稱。

varValue
[in]屬性值。

lpszDescr
[in]屬性描述。 預設值是 NULL

lpszEditMask
[in]如果屬性是遮罩的編輯控制項,則為編輯遮罩。 預設值是 NULL

lpszEditTemplate
[in]如果屬性是遮罩的編輯控制項,則為編輯範本。 預設值是 NULL

lpszValidChars
[in]如果屬性是遮罩的編輯控制項,則為有效字元的清單。 預設值是 NULL

bIsValueList
[in] TRUE 如果 屬性代表值清單,則為 ; FALSE 如果 屬性代表單一值,則為 。 預設值是 FALSE

CMFCPropertyGridProperty::CreateCombo

由架構呼叫,以將下拉式方塊新增至 屬性。

virtual CComboBox* CreateCombo(
    CWnd* pWndParent,
    CRect rect);

參數

pWndParent
[in]下拉式方塊之父視窗的指標。

rect
[in]下拉式方塊的周框。

傳回值

CComboBox 物件的指標。

CMFCPropertyGridProperty::CreateInPlaceEdit

由架構呼叫,以建立屬性的可編輯控制項。

virtual CWnd* CreateInPlaceEdit(
    CRect rectEdit,
    BOOL& bDefaultFormat);

參數

rectEdit
[in]可編輯控制項的周框。

bDefaultFormat
[in] TRUE 表示使用預設屬性格式來設定可編輯控制項的文字;否則為 FALSE

傳回值

如果此方法成功,則為可編輯控制項的指標;否則為 NULL

備註

這個方法會使用 類別建構函式中指定的 CMFCPropertyGridPropertylpszEditMasklpszEditTemplatelpszValidChars 參數值 varValue 。 根據預設,這個方法支援 varValue 變體類型。 這包括 VT_BSTRVT_R4VT_INTVT_I2VT_UI1VT_R8VT_I4VT_UI2VT_UINTVT_UI4 和 。 VT_BOOL

如果指定了一或多個 、 或 參數,這個方法就會 CMFCMaskedEdit 建立控制項,否則會建立 CEdit 控制項。 lpszValidCharslpszEditTemplatelpszEditMask

CMFCPropertyGridProperty::CreateSpinControl

由架構呼叫以建立可編輯的微調按鈕控制項。

virtual CSpinButtonCtrl* CreateSpinControl(CRect rectSpin);

參數

rectSpin
[in]定義可編輯微調按鈕控制項建立位置的矩形。

傳回值

新物件的指標 CMFCSpinButtonCtrl ,這個物件會轉換成物件的指標 CSpinButtonCtrl

備註

CMFCPropertyGridProperty::EnableSpinControl呼叫 方法,以在屬性右邊緣顯示可編輯的微調按鈕控制項。

CMFCPropertyGridProperty::Enable

啟用或停用屬性。

void Enable(BOOL bEnable=TRUE);

參數

bEnable
[in] TRUE 表示啟用 屬性; FALSE 以停用 屬性。 停用的屬性不會回應滑鼠或鍵盤輸入。 預設值是 TRUE

CMFCPropertyGridProperty::EnableSpinControl

啟用或停用用來修改屬性值的微調按鈕控制項。

void EnableSpinControl(
    BOOL bEnable=TRUE,
    int nMin=0,
    int nMax=0);

參數

bEnable
[in] TRUE 表示啟用微調按鈕控制項; FALSE 以停用微調按鈕控制項。 預設值是 TRUE

nMin
[in]微調按鈕控制項的最小值。 預設值是 0。

nMax
[in]微調按鈕控制項的最大值。 預設值是 0。

備註

架構會在即將編輯屬性時自動建立微調按鈕控制項。

建構函式參數 CMFCPropertyGridProperty::CMFCPropertyGridPropertyvarValue 指定的屬性類型必須是支援的變體類型。 否則,這個方法會在偵錯模式中判斷提示。 支援的型別包括 VT_INT 、、 VT_UINTVT_I2VT_I4VT_UI2 、 和 VT_UI4

CMFCPropertyGridProperty::Expand

展開或折迭包含子屬性的屬性。

void Expand(BOOL bExpand=TRUE);

參數

bExpand
[in] TRUE 表示展開 屬性; FALSE 折迭 屬性。 預設值是 TRUE

CMFCPropertyGridProperty::FormatProperty

格式化屬性值的文字表示法。

virtual CString FormatProperty();

傳回值

屬性值的文字表示。

備註

在顯示內容值之前,架構會呼叫這個方法。

CMFCPropertyGridProperty::GetData

擷取 DWORD 與 屬性相關聯的值。

DWORD_PTR GetData() const;

傳回值

DWORD 值。

備註

傳回的資料是應用程式特定的值,例如數位或其他資料的指標。 當您建構 屬性或呼叫 CMFCPropertyGridProperty::SetData 方法時,請指定資料值。

CMFCPropertyGridProperty::GetDescription

擷取屬性描述。

const CString& GetDescription() const;

傳回值

包含屬性描述的文字字串。

備註

屬性清單控制項也會使用這個方法來顯示內容的描述。

CMFCPropertyGridProperty::GetExpandedSubItems

擷取展開的子專案數目。

int GetExpandedSubItems(BOOL bIncludeHidden=TRUE) const;

參數

bIncludeHidden
[in] TRUE 表示在計數中包含隱藏的子專案;否則為 FALSE 。 預設值是 TRUE

傳回值

展開的子專案數目。

CMFCPropertyGridProperty::GetHierarchyLevel

擷取屬性階層層級之以零起始的索引。

int GetHierarchyLevel() const;

傳回值

屬性的階層式層級。

CMFCPropertyGridProperty::GetName

擷取屬性的名稱。

LPCTSTR GetName() const;

傳回值

包含屬性名稱的字串指標。

CMFCPropertyGridProperty::GetNameTooltip

由架構呼叫,以在工具提示中顯示內容的名稱。

virtual CString GetNameTooltip();

傳回值

包含屬性名稱的字串。 根據預設,傳回值是空字串。

CMFCPropertyGridProperty::GetOption

擷取索引所指定之選項的文字。

LPCTSTR GetOption(int nIndex) const;

參數

nIndex
要擷取之屬性清單專案 (option) 之以零起始的索引。

傳回值

包含選項文字的字串指標。

CMFCPropertyGridProperty::GetOptionCount

擷取屬於屬性的選項數目。

int GetOptionCount() const;

傳回值

屬性控制項中包含的屬性清單專案數(選項)。

備註

CMFCPropertyGridProperty::AddOption呼叫 方法,將專案新增至屬性清單。 CMFCPropertyGridProperty::RemoveAllOptions呼叫 方法以移除所有專案。

CMFCPropertyGridProperty::GetOriginalValue

擷取目前屬性的初始值。

const COleVariant& GetOriginalValue() const;

傳回值

目前屬性的原始值。

備註

使用這個方法可復原變更目前屬性值的編輯作業效果。

目前屬性的原始值是由 CMFCPropertyGridProperty::CMFCPropertyGridProperty 建構函式所設定,由 CMFCPropertyGridProperty::SetOriginalValue 方法修改,並由 方法重設 CMFCPropertyGridProperty::ResetOriginalValue

CMFCPropertyGridProperty::GetParent

擷取父屬性的指標。

CMFCPropertyGridProperty* GetParent() const;

傳回值

父屬性物件的指標,或 NULL 最上層屬性的指標。

CMFCPropertyGridProperty::GetRect

擷取屬性的周框。

CRect GetRect() const;

傳回值

CRect物件,描述周框。

CMFCPropertyGridProperty::GetSubItem

擷取以零起始的索引所識別的子屬性。

CMFCPropertyGridProperty* GetSubItem(int nIndex) const;

參數

nIndex
[in]要擷取之屬性之以零起始的索引。 如果參數小於零或大於或等於子屬性的數目,則這個參數無效。

傳回值

屬性物件的指標,這個物件是這個屬性的子專案。

-或-

在零售模式中 nIndexNULL 如果 參數無效。 在偵錯模式中,這個方法會判斷提示。

CMFCPropertyGridProperty::GetSubItemsCount

擷取子專案的數目。

int GetSubItemsCount() const;

傳回值

子專案的數目。

CMFCPropertyGridProperty::GetValue

擷取屬性值。

virtual const _variant_t& GetValue() const;

傳回值

包含屬性值的變體。

CMFCPropertyGridProperty::GetValueTooltip

由架構呼叫以擷取屬性值的文字表示,然後顯示在工具提示中。

virtual CString GetValueTooltip();

傳回值

CString物件,包含屬性值的文字表示。 根據預設,此值為空字串。

CMFCPropertyGridProperty::HasButton

指出屬性是否包含按鈕。

virtual BOOL HasButton() const;

傳回值

TRUE 如果屬性包含按鈕(或屬性清單):否則為 FALSE

CMFCPropertyGridProperty::HitTest

指向對應至對應至點之屬性清單專案的屬性物件。

CMFCPropertyGridProperty* HitTest(
    CPoint point,
    CMFCPropertyGridProperty::ClickArea* pnArea=NULL);

CMFCPropertyGridProperty* HitTest(
    CPoint pt,
    CMFCPropertyGridProperty::ClickArea* pnArea=NULL,
    BOOL bPropsOnly=FALSE) const;

參數

point
[in]用戶端座標中要測試的點。 此參數通常是目前的滑鼠指標位置。

pt
[in]用戶端座標中要測試的點。

pnArea
[out]當這個方法傳回時,表示包含指定點的區域。 如需詳細資訊,請參閱<備註>。 預設值是 NULL

bPropsOnly
[in] TRUE 以測試屬性控制項中的任何區域; FALSE 僅測試描述區域。 預設值是 FALSE

傳回值

屬性物件的指標或 NULL

備註

根據預設,如果在任何屬性專案內找不到指定的點,這個方法會測試屬性子專案。

下表列出可傳回至 pnArea 參數的值。

區域 描述
ClickArea::ClickExpandBox 展開方塊控制項,由加號 ( + ) 指定。
ClickArea::ClickName 屬性名稱。
ClickArea::ClickValue 屬性值。

CMFCPropertyGridProperty::Init

由架構呼叫以初始化屬性物件。

void Init();

CMFCPropertyGridProperty::IsAllowEdit

指出屬性是否可編輯。

BOOL IsAllowEdit() const;

傳回值

TRUE 如果屬性可編輯,則為 ;否則 FALSE 為 。

CMFCPropertyGridProperty::IsEnabled

指出屬性是啟用還是停用。

BOOL IsEnabled() const;

傳回值

TRUE 如果屬性已啟用,則為 ; FALSE 如果屬性已停用,則為 。

備註

指出屬性是啟用還是停用。

CMFCPropertyGridProperty::IsExpanded

指出屬性是否已展開或折迭。

BOOL IsExpanded() const;

傳回值

TRUE 如果屬性已展開,則為 ; FALSE 如果屬性已折迭,則為 。

CMFCPropertyGridProperty::IsGroup

指出目前屬性是否代表群組。

BOOL IsGroup() const;

傳回值

TRUE 如果目前的屬性物件代表群組,則為 ; FALSE 如果 屬性代表值,則為 。

備註

群組 是屬性方格控制項中相關屬性的集合。 如果控制項以階層方式顯示, 組名 會顯示為群組上方資料列中的類別標題。

CMFCPropertyGridProperty::IsInPlaceEditing

指出目前屬性是否可編輯。

BOOL IsInPlaceEditing() const;

傳回值

TRUE 如果目前屬性可編輯,則為 ;否則為 FALSE

CMFCPropertyGridProperty::IsModified

指出目前屬性是否已修改。

BOOL IsModified() const;

傳回值

TRUE 如果屬性已修改,則為 ;否則為 FALSE

CMFCPropertyGridProperty::IsParentExpanded

指出目前屬性的父系是否已展開。

BOOL IsParentExpanded() const;

傳回值

TRUE 如果已展開目前屬性的所有父代,則為 ; FALSE 如果父屬性已折迭,則為 。

CMFCPropertyGridProperty::IsSelected

指出是否已選取目前屬性。

virtual BOOL IsSelected() const;

傳回值

TRUE 如果已選取目前屬性,則為 ;否則為 FALSE

CMFCPropertyGridProperty::IsSubItem

指出指定的屬性是否為目前屬性的子專案。

BOOL IsSubItem(CMFCPropertyGridProperty* pProp) const;

參數

pProp
[in]屬性的指標。

傳回值

TRUE 如果指定的屬性是目前屬性的子專案,則為 ;否則為 FALSE

CMFCPropertyGridProperty::IsValueChanged

指出目前屬性的值是否已變更。

virtual BOOL IsValueChanged() const;

傳回值

TRUE 如果目前屬性的值已變更,則為 ;否則為 FALSE

CMFCPropertyGridProperty::IsVisible

指出目前屬性是否可見。

BOOL IsVisible() const;

傳回值

TRUE 如果目前屬性為可見,則為 ;否則; FALSE.

CMFCPropertyGridProperty::m_strFormatDouble

保留 double 類型的值格式字串。

static CString m_strFormatDouble;

CMFCPropertyGridProperty::m_strFormatFloat

保存 float 類型的值格式字串。

static CString m_strFormatFloat;

CMFCPropertyGridProperty::m_strFormatLong

保留 long 類型的值格式字串。

static CString m_strFormatLong;

CMFCPropertyGridProperty::m_strFormatShort

保留 short 類型的值格式字串。

static CString m_strFormatShort;

CMFCPropertyGridProperty::OnClickButton

當使用者選取屬性中包含的按鈕時,由架構呼叫。

virtual void OnClickButton(CPoint point);

參數

point
[in]用戶端座標中的點。

備註

根據預設,此方法不會執行任何動作。

CMFCPropertyGridProperty::OnClickName

當使用者選取屬性的名稱欄位時,由父屬性清單控制項呼叫。

virtual void OnClickName(CPoint C);

參數

C
[in]用戶端座標中的點。

備註

根據預設,此方法不會執行任何動作。

CMFCPropertyGridProperty::OnClickValue

當使用者選取屬性的值欄位時,由父屬性清單控制項呼叫。

virtual BOOL OnClickValue(
    UINT uiMsg,
    CPoint point);

參數

uiMsg
[in]滑鼠訊息。

point
[in]用戶端座標中的點。

傳回值

TRUE 如果這個方法會處理指定的滑鼠訊息,則為 ;否則為 FALSE

備註

根據預設,如果目前屬性無法編輯,這個方法會傳 FALSE 回 。 否則,與這個屬性相關聯的編輯或微調控制項會處理指定的滑鼠訊息,然後這個方法會傳 TRUE 回 。

CMFCPropertyGridProperty::OnCloseCombo

當屬性中包含的下拉式方塊關閉時,由架構呼叫。

virtual void OnCloseCombo();

CMFCPropertyGridProperty::OnCtlColor

架構必須擷取筆刷以填滿屬性的背景色彩時呼叫。

virtual HBRUSH OnCtlColor(
    CDC* pDC,
    UINT nCtlColor);

參數

pDC
[in]裝置內容的指標。

nCtlColor
[in](不使用此參數。

傳回值

如果此方法成功,則為筆刷的控制碼;否則為 NULL

CMFCPropertyGridProperty::OnDblClk

當使用者按兩下屬性時,由架構呼叫。

virtual BOOL OnDblClk(CPoint point);

參數

point
[in]用戶端座標中的點。

傳回值

TRUE 如果此方法成功,則為 ;否則為 FALSE

備註

根據預設,此方法會選取屬性清單控制項中的下一個屬性專案。

CMFCPropertyGridProperty::OnDestroyWindow

當屬性終結或編輯完成時,由架構呼叫。

virtual void OnDestroyWindow();

CMFCPropertyGridProperty::OnDrawButton

由架構呼叫以繪製 包含在 屬性中的按鈕。

virtual void OnDrawButton(
    CDC* pDC,
    CRect rectButton);

參數

pDC
[in]裝置內容的指標。

rectButton
[in]周框,指定要繪製按鈕的位置。

CMFCPropertyGridProperty::OnDrawDescription

由架構呼叫以繪製屬性描述。

virtual void OnDrawDescription(
    CDC* pDC,
    CRect rect);

參數

pDC
[in]裝置內容的指標。

rect
[in]周框,指定要繪製屬性描述的位置。

備註

根據預設,此方法會在父屬性清單控制項所使用的字型中繪製屬性名稱和描述。 屬性描述是以一般樣式繪製,而屬性名稱是以粗體樣式繪製。

CMFCPropertyGridProperty::OnDrawExpandBox

由架構呼叫,以在包含子屬性的屬性附近繪製展開方塊控制項。

virtual void OnDrawExpandBox(
    CDC* pDC,
    CRect rectExpand);

參數

pDC
[in]裝置內容的指標。

rectExpand
[in]周框,指定要繪製展開方塊控制項的位置。

備註

選取展開方塊控制項,以展開或折迭子屬性的清單。 展開方塊控制項是由包含加號 ( + ) 或減號 - 的正方形所指定。 加號表示屬性可以展開以顯示子屬性的清單。 減號表示清單可以折迭,只顯示 屬性。

CMFCPropertyGridProperty::OnDrawName

由架構呼叫以顯示內容名稱。

virtual void OnDrawName(
    CDC* pDC,
    CRect rect);

參數

pDC
[in]裝置內容的指標。

rect
[in]周框,指定要繪製屬性名稱的位置。

CMFCPropertyGridProperty::OnDrawValue

由架構呼叫以顯示屬性值。

virtual void OnDrawValue(
    CDC* pDC,
    CRect rect);

參數

pDC
[in]裝置內容的指標。

rect
[in]周框,指定要繪製屬性值的位置。

CMFCPropertyGridProperty::OnEdit

使用者即將修改屬性值時由架構呼叫。

virtual BOOL OnEdit(LPPOINT lptClick);

參數

lptClick
[in](不使用此參數。用戶端座標中指向點的指標。

傳回值

TRUE 如果編輯作業成功啟動,則為 ;否則為 FALSE

備註

當使用者即將修改屬性值時,架構會呼叫此函式。 根據預設,此方法會針對下拉式方塊控制項或微調控制項啟動適當的編輯器。

CMFCPropertyGridProperty::OnEndEdit

當使用者完成修改屬性值時,由架構呼叫。

virtual BOOL OnEndEdit();

傳回值

此方法一律會傳回 TRUE

備註

根據預設,這個方法會終結目前的編輯控制項,然後傳 TRUE 回 。

CMFCPropertyGridProperty::OnKillFocus

當 屬性失去輸入焦點時,由架構呼叫。

virtual BOOL OnKillFocus(CWnd*);

參數

CWnd
[in](未使用。視窗的指標。

傳回值

此方法一律會傳回 TRUE

備註

根據預設,此方法不會執行任何動作,然後傳 TRUE 回 。 如果您覆寫這個方法,當屬性失去輸入焦點時,如果架構可以結束編輯作業,則傳回 TRUE

CMFCPropertyGridProperty::OnKillSelection

virtual void OnKillSelection(CMFCPropertyGridProperty*);

參數

[輸入] CMFCPropertyGridProperty*\

備註

根據預設,此方法不會執行任何動作。

CMFCPropertyGridProperty::OnPosSizeChanged

virtual void OnPosSizeChanged(CRect);

參數

[輸入] CRect\

備註

根據預設,此方法不會執行任何動作。

CMFCPropertyGridProperty::OnRClickName

當使用者在屬性名稱區域中選取滑鼠右鍵時,由架構呼叫。

virtual void OnRClickName(CPoint C);

參數

C
[in]用戶端座標中的點。

備註

根據預設,此方法不會執行任何動作。

CMFCPropertyGridProperty::OnRClickValue

當使用者在屬性值區域中選取滑鼠右鍵時,由架構呼叫。

virtual void OnRClickValue(
    CPoint C,
    BOOL B);

參數

C
[in]用戶端座標中的點。

B
[in]布林值。

備註

根據預設,此方法不會執行任何動作,而且 B 參數沒有預先定義的用途。

CMFCPropertyGridProperty::OnSelectCombo

當使用者從可編輯下拉式方塊中選取專案時,由架構呼叫。

virtual void OnSelectCombo();

備註

根據預設,此方法會使用所選項目的文字來更新屬性值。

CMFCPropertyGridProperty::OnSetCursor

當滑鼠指標移至屬性專案時,由架構呼叫。

virtual BOOL OnSetCursor() const;

傳回值

TRUE 如果目前屬性是變體類型或值清單,且此方法會成功載入插入點 (I-beam) 滑鼠游標;否則為 FALSE

備註

這個方法支援下列變體類型: VT_INT 、、 VT_I2VT_I4VT_UINTVT_UI1VT_UI2VT_UI4VT_R4VT_R8 和 。 VT_BSTR

CMFCPropertyGridProperty::OnSetSelection

virtual void OnSetSelection CMFCPropertyGridProperty*);

參數

[輸入] CMFCPropertyGridProperty*\

備註

根據預設,此方法不會執行任何動作。

CMFCPropertyGridProperty::OnUpdateValue

當可編輯屬性的值變更時由架構呼叫。

virtual BOOL OnUpdateValue();

傳回值

TRUE 如果此方法成功,則為 ;否則為 FALSE

CMFCPropertyGridProperty::PushChar

當選取 屬性且使用者輸入新字元時,從屬性清單控制項呼叫。

virtual BOOL PushChar(UINT nChar);

參數

nChar
[in]字元。

傳回值

TRUE 如果編輯作業仍在繼續,則為 ;否則為 FALSE

備註

這個方法支援值清單或下列其中一種變體類型的屬性: VT_INT 、、、 VT_I4VT_UI4VT_UINTVT_UI1VT_UI2VT_R4VT_R8 和 。 VT_BSTRVT_I2

CMFCPropertyGridProperty::Redraw

重新繪製 屬性。

void Redraw();

CMFCPropertyGridProperty::RemoveAllOptions

從 屬性中移除所有選項(專案)。

void RemoveAllOptions();

備註

選項也稱為屬性清單控制項的清單專案。

CMFCPropertyGridProperty::RemoveSubItem

移除指定的子專案。

BOOL RemoveSubItem(
    CMFCPropertyGridProperty*& pProp,
    BOOL bDelete=TRUE);

參數

pProp
[in]屬性子專案的指標。

bDelete
[in] TRUE 表示刪除 參數所 pProp 指定的屬性物件,否則 FALSE 為 。 預設值是 TRUE

傳回值

備註

FALSE如果您想要移動指定的子專案,請指定 bDelete 參數;也就是說,請移除子專案,然後將它新增至別處。

CMFCPropertyGridProperty::ResetOriginalValue

還原已編輯屬性的原始值。

virtual void ResetOriginalValue();

CMFCPropertyGridProperty::SetData

DWORD 值與 屬性產生關聯。

void SetData(DWORD_PTR dwData);

參數

dwData
[in]應用程式特定的 32 位值,例如整數或其他資料的指標。

備註

CMFCPropertyGridProperty::GetData使用 方法來擷 DWORD 取值。 CMFCPropertyGridCtrl::FindItemByData使用 方法來找出與指定 DWORD 值相關聯的屬性清單專案。

CMFCPropertyGridProperty::SetDescription

指定描述目前屬性的文字。

void SetDescription(const CString& strDescr);

參數

strDescr
[in]描述目前屬性的文字。

CMFCPropertyGridProperty::SetName

設定屬性的名稱。

void SetName(
    LPCTSTR lpszName,
    BOOL bRedraw=TRUE);

參數

lpszName
[in]屬性名稱。

bRedraw
[in] TRUE 表示立即重新繪製 屬性;否則為 FALSE 。 預設值是 TRUE

CMFCPropertyGridProperty::SetOriginalValue

設定可編輯屬性的原始值。

virtual void SetOriginalValue(const COleVariant& varValue);

參數

varValue
[in]值。

備註

CMFCPropertyGridProperty::ResetOriginalValue使用 方法來重設已編輯屬性的原始值。

CMFCPropertyGridProperty::SetValue

設定屬性方格屬性的值。

virtual void SetValue(const _variant_t& varValue);

參數

varValue
[in]要設定屬性之值的參考。

範例: SetValue

void SetPropBarValue(UINT propId, const DWORD& barPropDwordValue)
{
  auto property = propertiesGridCtrlList.FindItemByData(propId);
  if (property != nullptr)
  {
    property->SetValue(static_cast<_variant_t >(barPropDwordValue == 1)); // set value to true or false depending on dword value
  }
}

CMFCPropertyGridProperty::Show

顯示或隱藏屬性。

void Show(
    BOOL bShow=TRUE,
    BOOL bAdjustLayout=TRUE);

參數

bShow
[in] TRUE 表示顯示目前屬性及其子專案; FALSE 以隱藏目前屬性及其子專案。 預設值是 TRUE

bAdjustLayout
[in] TRUE 若要重新計算如何繪製屬性的標籤和值,然後繪製 屬性; FALSE 表示使用現有的計算來繪製 屬性。 預設值是 TRUE

另請參閱

階層架構圖表
類別
CMFCPropertyGridCtrl 類別