Поделиться через


Класс CMFCPropertyGridProperty

Объект CMFCPropertyGridProperty представляет элемент списка в элементе управления списком свойств.

Дополнительные сведения см. в исходном коде, расположенном в папке mfc установки Visual Studio. Например, %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 Вызывается платформой для рисования элемента управления expand box рядом с свойством, содержащим вложенные свойства.
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 Форматирование строки для значения с плавающей запятой типа.
CMFCPropertyGridProperty::m_strFormatLong Отформатируйте строку для значения типа long.
CMFCPropertyGridProperty::m_strFormatShort Отформатируйте строку для значения типа short.

Замечания

CMFCPropertyGridProperty Используйте объект для представления свойства, которое затем добавляется в элемент управления списком свойств. Дополнительные сведения см. в разделе CMFCPropertyGridCtrl "Класс".

Объект свойства может представлять такие типы данных, как строки, даты и логические или целые значения. Он может содержать дочерние свойства или содержать элемент управления, например поле со списком или элемент управления кнопкой.

Пример

В следующем примере показано, как создать CMFCPropertyGridProperty объект. В примере также показано, как использовать различные методы в CMFCPropertyGridProperty классе для добавления параметра, добавления подсети, включения свойства и отображения свойства. Этот пример является частью примера "Новые элементы управления".

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 Значение , если свойство не добавлено, так как оно уже происходит в родительском свойстве.

Замечания

Используйте этот метод для создания иерархического списка родительских и дочерних свойств. После добавления дочернего свойства родительский объект автоматически отображает элемент управления expand box, назначенный знаком плюса (+). Когда пользователь выбирает знак плюса, родительское свойство расширяется и отображает все дочерние элементы свойств.

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в противном случае .

Замечания

Этот метод использует значения значений varValue, lpszEditMasklpszEditTemplateи lpszValidChars параметров, указанных в конструкторе CMFCPropertyGridProperty классов. По умолчанию этот метод поддерживает varValue типы вариантов. К ним относятся VT_BSTR, VT_R4, VT_I2VT_UINTVT_INTVT_R8VT_I4VT_UI1, VT_UI2VT_UI4и .VT_BOOL

Этот метод создает CMFCMaskedEdit элемент управления, если задано одно или несколько lpszEditTemplatelpszEditMaskпараметров или lpszValidChars параметров; в противном случае он создает CEdit элемент управления.

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.

Замечания

Платформа автоматически создает элемент управления кнопкой спины при изменении свойства.

Тип свойства, указанный varValue параметром конструктора CMFCPropertyGridProperty::CMFCPropertyGridProperty , должен быть поддерживаемым типом варианта. В противном случае этот метод утверждается в режиме отладки. Поддерживаемые типы включают VT_INT, , VT_UINT, VT_I4VT_I2, VT_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
Отсчитываемый от нуля индекс элемента списка свойств (параметр).

Возвращаемое значение

Указатель на строку, содержащую текст параметра.

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] Отсчитываемый от нуля индекс извлекаемого свойства. Этот параметр недопустим, если он меньше нуля или больше или равен количеству подпроцентов.

Возвращаемое значение

Указатель на объект свойства, который является дочерним элементом этого свойства.

или

В розничном режиме, NULL если nIndex параметр недопустим. В режиме отладки этот метод утверждает.

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 параметр.

Область Description
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

Содержит строку формата для значения с плавающей запятой типа.

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

Вызывается платформой для рисования элемента управления expand box рядом с свойством, содержащим вложенные свойства.

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_UI2VT_UI1VT_I4VT_UI4VT_UINT, VT_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_I2, VT_UI2VT_UINTVT_I4VT_UI4VT_R4VT_UI1VT_R8и .VT_BSTR

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 параметра, если планируется переместить указанный подitem; то есть удалите подсеть, а затем добавьте его в другое место.

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