Класс 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();
Иерархия наследования
Требования
Заголовок: 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
Значение
Замечания
Используйте этот метод для создания иерархического списка родительских и дочерних свойств. После добавления дочернего свойства родительский объект автоматически отображает элемент управления 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
, lpszEditMask
lpszEditTemplate
и lpszValidChars
параметров, указанных в конструкторе CMFCPropertyGridProperty
классов. По умолчанию этот метод поддерживает varValue
типы вариантов. К ним относятся VT_BSTR
, VT_R4
, VT_I2
VT_UINT
VT_INT
VT_R8
VT_I4
VT_UI1
, VT_UI2
VT_UI4
и .VT_BOOL
Этот метод создает CMFCMaskedEdit
элемент управления, если задано одно или несколько lpszEditTemplate
lpszEditMask
параметров или 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_I4
VT_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_I2
VT_UI2
VT_UI1
VT_I4
VT_UI4
VT_UINT
, VT_R4
VT_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_UI2
VT_UINT
VT_I4
VT_UI4
VT_R4
VT_UI1
VT_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
.