Compartir a través de


Clase CMFCPropertyGridProperty

Un objeto CMFCPropertyGridProperty representa un elemento de lista de un control de lista de propiedades.

Para obtener información más detallada, consulte el código fuente ubicado en la carpeta mfc de la instalación de Visual Studio. Por ejemplo, %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc.

Sintaxis

class CMFCPropertyGridProperty : public CObject

Miembros

Constructores públicos

Nombre Descripción
CMFCPropertyGridProperty::CMFCPropertyGridProperty Construye un objeto CMFCPropertyGridProperty.
CMFCPropertyGridProperty::~CMFCPropertyGridProperty Destructor.

Métodos públicos

Nombre Descripción
CMFCPropertyGridProperty::AddOption Agrega un nuevo elemento de lista a un control de lista de propiedades.
CMFCPropertyGridProperty::AddSubItem Agrega un elemento secundario a una propiedad.
CMFCPropertyGridProperty::AdjustButtonRect El control de lista de propiedades primaria llama a este elemento para indicar a una propiedad que cambie el tamaño del rectángulo delimitador de un botón incrustado.
CMFCPropertyGridProperty::AdjustInPlaceEditRect Recupera los límites del cuadro de texto y el control de botón de número opcional que se usan para establecer un valor de propiedad.
CMFCPropertyGridProperty::AllowEdit Hace que una propiedad sea editable o de solo lectura.
CMFCPropertyGridProperty::CreateInPlaceEdit El marco de trabajo llama a este elemento para crear un control editable para una propiedad.
CMFCPropertyGridProperty::CreateSpinControl El marco de trabajo llama a este elemento para crear un control de botón de número editable.
CMFCPropertyGridProperty::Enable Habilita o deshabilita una propiedad.
CMFCPropertyGridProperty::EnableSpinControl Habilita o deshabilita un control de botón de número que se usa para modificar un valor de propiedad.
CMFCPropertyGridProperty::Expand Expande o contrae una propiedad que contiene subpropiedades.
CMFCPropertyGridProperty::FormatProperty Da formato a la representación de texto de un valor de propiedad.
CMFCPropertyGridProperty::GetData Recupera un valor DWORD asociado a una propiedad.
CMFCPropertyGridProperty::GetDescription Recupera una descripción de propiedad.
CMFCPropertyGridProperty::GetExpandedSubItems Recupera el número de subelementos expandidos.
CMFCPropertyGridProperty::GetHierarchyLevel Recupera el índice de base cero del nivel de jerarquía de la propiedad.
CMFCPropertyGridProperty::GetName Recupera el nombre de la propiedad.
CMFCPropertyGridProperty::GetNameTooltip El marco de trabajo llama a este elemento para mostrar el nombre de la propiedad en una información sobre herramientas.
CMFCPropertyGridProperty::GetOption Recupera el texto de la opción que especifica un índice.
CMFCPropertyGridProperty::GetOptionCount Recupera el número de opciones que pertenecen a una propiedad.
CMFCPropertyGridProperty::GetOriginalValue Recupera el valor inicial de la propiedad actual.
CMFCPropertyGridProperty::GetParent Recupera un puntero a una propiedad primaria.
CMFCPropertyGridProperty::GetRect Recupera el rectángulo delimitador de una propiedad.
CMFCPropertyGridProperty::GetSubItem Recupera una subpropiedad identificada por un índice de base cero.
CMFCPropertyGridProperty::GetSubItemsCount Recupera el número de subelementos.
CMFCPropertyGridProperty::GetThisClass El marco de trabajo usa este elemento para obtener un puntero al objeto CRuntimeClass asociado a este tipo de clase.
CMFCPropertyGridProperty::GetValue Recupera un valor de propiedad.
CMFCPropertyGridProperty::GetValueTooltip El marco de trabajo llama a este elemento para recuperar la representación de texto del valor de propiedad que se muestra a continuación en una información sobre herramientas.
CMFCPropertyGridProperty::HitTest Apunta al objeto de propiedad que corresponde al elemento de lista de propiedades que corresponde a un punto.
CMFCPropertyGridProperty::IsAllowEdit Indica si una propiedad es editable.
CMFCPropertyGridProperty::IsEnabled Indica si una propiedad está habilitada o deshabilitada.
CMFCPropertyGridProperty::IsExpanded Indica si una propiedad está expandida o contraída.
CMFCPropertyGridProperty::IsGroup Indica si la propiedad actual representa un grupo.
CMFCPropertyGridProperty::IsInPlaceEditing Indica si la propiedad actual es editable.
CMFCPropertyGridProperty::IsModified Indica si la propiedad actual se ha modificado.
CMFCPropertyGridProperty::IsParentExpanded Indica si los elementos primarios de la propiedad actual se han expandido.
CMFCPropertyGridProperty::IsSelected Indica si la propiedad actual se ha seleccionado.
CMFCPropertyGridProperty::IsVisible Indica si la propiedad actual está visible.
CMFCPropertyGridProperty::OnClickButton Lo llama el marco cuando el usuario selecciona un botón que se encuentra en una propiedad.
CMFCPropertyGridProperty::OnClickName El control de la lista de propiedades primaria llama este elemento cuando un usuario selecciona el campo de nombre de una propiedad.
CMFCPropertyGridProperty::OnClickValue El control de la lista de propiedades primaria llama este elemento cuando un usuario selecciona el campo de valor de una propiedad.
CMFCPropertyGridProperty::OnCloseCombo El marco de trabajo llama a este elemento cuando se cierra un cuadro combinado contenido en una propiedad.
CMFCPropertyGridProperty::OnDblClk El marco de trabajo llama a este elemento cuando el usuario hace clic en una propiedad.
CMFCPropertyGridProperty::OnDrawButton El marco de trabajo llama a este elemento para dibujar un botón que se encuentra en una propiedad.
CMFCPropertyGridProperty::OnDrawDescription El marco de trabajo llama a este elemento para mostrar la descripción de la propiedad.
CMFCPropertyGridProperty::OnDrawExpandBox Lo llama el marco para dibujar un control de cuadro de expansión cerca de una propiedad que contiene subpropiedades.
CMFCPropertyGridProperty::OnDrawName El marco de trabajo llama a este elemento para mostrar el nombre de la propiedad.
CMFCPropertyGridProperty::OnDrawValue Lo llama el marco para mostrar el valor de la propiedad.
CMFCPropertyGridProperty::OnEdit Lo llama el marco cuando el usuario está a punto de modificar un valor de propiedad.
CMFCPropertyGridProperty::OnEndEdit El marco de trabajo llama a este elemento cuando el usuario ha terminado de modificar un valor de propiedad.
CMFCPropertyGridProperty::OnKillSelection
CMFCPropertyGridProperty::OnPosSizeChanged
CMFCPropertyGridProperty::OnRClickName El marco de trabajo llama a este elemento cuando el usuario selecciona el botón derecho del mouse en el área de nombre de propiedad.
CMFCPropertyGridProperty::OnRClickValue El marco de trabajo llama a este elemento cuando el usuario selecciona el botón derecho del mouse en el área de valor de propiedad.
CMFCPropertyGridProperty::OnSelectCombo El marco de trabajo llama a este elemento cuando el usuario selecciona un elemento del cuadro combinado editable.
CMFCPropertyGridProperty::OnSetCursor El marco de trabajo llama a este elemento cuando el puntero del mouse se mueve a un elemento de propiedad.
CMFCPropertyGridProperty::OnSetSelection
CMFCPropertyGridProperty::OnUpdateValue Lo llama el marco cuando el valor de una propiedad editable ha cambiado.
CMFCPropertyGridProperty::PushChar Este elemento se llama desde el control de lista de propiedades cuando se selecciona la propiedad y el usuario escribe un nuevo carácter.
CMFCPropertyGridProperty::Redraw Vuelve a dibujar la propiedad.
CMFCPropertyGridProperty::RemoveAllOptions Quita todas las opciones (elementos) de una propiedad.
CMFCPropertyGridProperty::RemoveSubItem Quita el subelemento especificado.
CMFCPropertyGridProperty::ResetOriginalValue Restaura el valor original de una propiedad editable.
CMFCPropertyGridProperty::SetData Asocia un valor DWORD a una propiedad.
CMFCPropertyGridProperty::SetDescription Especifica el texto que describe la propiedad actual.
CMFCPropertyGridProperty::SetName Establece el nombre de una propiedad.
CMFCPropertyGridProperty::SetOriginalValue Establece el valor original de una propiedad editable.
CMFCPropertyGridProperty::SetValue Establece el valor de una propiedad de cuadrícula de propiedades.
CMFCPropertyGridProperty::Show Muestra u oculta una propiedad.

Métodos protegidos

Nombre Descripción
CMFCPropertyGridProperty::CreateCombo El marco de trabajo llama a este elemento para agregar un cuadro combinado a una propiedad.
CMFCPropertyGridProperty::HasButton Indica si una propiedad contiene un botón.
CMFCPropertyGridProperty::Init El marco de trabajo llama a este elemento para inicializar un objeto de propiedad.
CMFCPropertyGridProperty::IsSubItem Indica si la propiedad especificada es un subelemento de la propiedad actual.
CMFCPropertyGridProperty::IsValueChanged Indica si el valor de la propiedad actual ha cambiado.
CMFCPropertyGridProperty::OnCtlColor El marco de trabajo llama a este elemento cuando debe recuperar un pincel para rellenar el color de fondo de una propiedad.
CMFCPropertyGridProperty::OnDestroyWindow El marco de trabajo llama a este elemento cuando se destruye una propiedad o cuando finaliza la edición.
CMFCPropertyGridProperty::OnKillFocus El marco de trabajo llama a este elemento cuando la propiedad pierde el foco de entrada.

Miembros de datos

Nombre Descripción
CMFCPropertyGridProperty::m_strFormatDouble Cadena de formato para un valor de tipo double.
CMFCPropertyGridProperty::m_strFormatFloat Cadena de formato para un valor de tipo float.
CMFCPropertyGridProperty::m_strFormatLong Cadena de formato para un valor de tipo long.
CMFCPropertyGridProperty::m_strFormatShort Cadena de formato para un valor de tipo short.

Comentarios

Utilice un objeto CMFCPropertyGridProperty para representar una propiedad, que después se agregará a un control de lista de propiedades. Para obtener más información, consulte la CMFCPropertyGridCtrl clase.

Un objeto de propiedad puede representar tipos de datos como cadenas, fechas y valores booleanos o enteros. Puede contener propiedades secundarias o puede contener un control como un cuadro combinado o un control de botón.

Ejemplo

En el ejemplo siguiente, se muestra cómo construir un objeto CMFCPropertyGridProperty. En el ejemplo también se muestra cómo usar varios métodos en la CMFCPropertyGridProperty clase para agregar una opción, agregar un subelemento, habilitar una propiedad y mostrar una propiedad. Este ejemplo forma parte del ejemplo de controles nuevos.

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();

Jerarquía de herencia

CObject

CMFCPropertyGridProperty

Requisitos

Encabezado: afxpropertygridctrl.h

CMFCPropertyGridProperty::AddOption

Agrega un nuevo elemento de lista a un control de lista de propiedades.

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

Parámetros

lpszOption
[in] Elemento de lista (opción) que se va a agregar.

bInsertUnique
[in] TRUE para agregar el elemento de lista solo si aún no existe; de lo contrario, FALSE. El valor predeterminado es TRUE.

Valor devuelto

TRUE, lo que significa que se agrega el elemento de lista. De lo contrario, FALSE, lo que significa que el elemento de lista no se agrega porque el parámetro bInsertUnique es TRUE y el elemento de lista especificado por el parámetro lpszOption ya existe.

CMFCPropertyGridProperty::AddSubItem

Agrega un elemento secundario a una propiedad.

BOOL AddSubItem(CMFCPropertyGridProperty* pProp);

Parámetros

pProp
[in] Puntero a una propiedad que se va a agregar.

Valor devuelto

TRUE si la propiedad especificada se agrega correctamente como una propiedad secundaria. FALSE si no se agrega la propiedad porque ya se produce en la propiedad primaria.

Comentarios

Use este método para crear una lista jerárquica de propiedades primarias y secundarias. Una vez que se agrega una propiedad secundaria, la propiedad primaria muestra automáticamente un control de cuadro de expansión designado por un signo más (+). Cuando el usuario selecciona el signo más, la propiedad primaria se expande y muestra los elementos de propiedad secundarios.

CMFCPropertyGridProperty::AdjustButtonRect

El control de lista de propiedades primaria llama a este elemento para indicar a una propiedad que cambie el tamaño del rectángulo delimitador de un botón incrustado.

virtual void AdjustButtonRect();

Comentarios

De manera predeterminada este método:

  • Ajusta el ancho del botón igual al alto del botón más tres píxeles.
  • Mueve el rectángulo delimitador del botón al borde derecho de la propiedad.
  • Desplaza el botón 1 píxel debajo del borde superior de la propiedad.

CMFCPropertyGridProperty::AdjustInPlaceEditRect

Recupera los límites del cuadro de texto y el control de botón de número opcional que se usan para establecer un valor de propiedad.

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

Parámetros

rectEdit
[out] Cuando se devuelve este método, un rectángulo que especifica los límites del cuadro de texto para el valor de propiedad.

rectSpin
[out] Cuando se devuelve este método, un rectángulo que especifica los límites del control de botón de número para el valor de propiedad. O bien, un rectángulo vacío si la propiedad no admite un botón de número.

Comentarios

El área de valor de una propiedad consta de un cuadro de texto y posiblemente un botón de opción, como un control de botón de número. Este método calcula las dimensiones del cuadro de texto y el botón de opción y, a continuación, devuelve esos valores en los parámetros especificados.

CMFCPropertyGridProperty::AllowEdit

Hace que una propiedad sea editable o de solo lectura.

void AllowEdit(BOOL bAllow=TRUE);

Parámetros

bAllow
[in] TRUE para que la propiedad sea editable; FALSE para que la propiedad sea de solo lectura. El valor predeterminado es TRUE.

CMFCPropertyGridProperty::CMFCPropertyGridProperty

Construye un objeto 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);

Parámetros

strGroupName
[in] Nombre del grupo. Un grupo es una colección de propiedades relacionadas en un control de cuadrícula de propiedades. Si el control se muestra jerárquicamente, el nombre del grupo se muestra como un título de categoría en la fila situada encima del grupo.

dwData
[in] Datos específicos de la aplicación, como un entero o un puntero a otros datos asociados a la propiedad. El valor predeterminado es 0.

strName
[in] Nombre de la propiedad.

varValue
[in] Valor de propiedad.

lpszDescr
[in] Descripción de la propiedad. El valor predeterminado es NULL.

lpszEditMask
[in] Máscara de edición, si la propiedad es un control de edición enmascarado. El valor predeterminado es NULL.

lpszEditTemplate
[in] Plantilla de edición, si la propiedad es un control de edición enmascarado. El valor predeterminado es NULL.

lpszValidChars
[in] Lista de caracteres válidos, si la propiedad es un control de edición enmascarado. El valor predeterminado es NULL.

bIsValueList
[in] TRUE si la propiedad representa una lista de valores; FALSE si la propiedad representa un único valor. El valor predeterminado es FALSE.

CMFCPropertyGridProperty::CreateCombo

El marco de trabajo llama a este elemento para agregar un cuadro combinado a una propiedad.

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

Parámetros

pWndParent
[in] Puntero a la ventana primaria del cuadro combinado.

rect
[in] Rectángulo delimitador del cuadro combinado.

Valor devuelto

Puntero a un nuevo objeto CComboBox.

CMFCPropertyGridProperty::CreateInPlaceEdit

El marco de trabajo llama a este elemento para crear un control editable para una propiedad.

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

Parámetros

rectEdit
[in] Rectángulo delimitador del control editable.

bDefaultFormat
[in] TRUE para usar el formato de propiedad predeterminado para establecer el texto del control editable; de lo contrario, FALSE.

Valor devuelto

Puntero al control editable si este método se realiza correctamente; de lo contrario, NULL.

Comentarios

Este método usa los valores de los parámetros varValue, lpszEditMask, lpszEditTemplate y lpszValidChars que se especifican en el constructor de clase CMFCPropertyGridProperty. De forma predeterminada, este método admite los tipos variant varValue. Esto incluye VT_BSTR, VT_R4, VT_R8, VT_UI1, VT_I2, VT_INT, VT_UINT, VT_I4, VT_UI2, VT_UI4 y VT_BOOL.

Este método crea un control CMFCMaskedEdit si se especifican uno o varios de los parámetros lpszEditMask, lpszEditTemplate o lpszValidChars; de lo contrario, crea un control CEdit.

CMFCPropertyGridProperty::CreateSpinControl

El marco de trabajo llama a este elemento para crear un control de botón de número editable.

virtual CSpinButtonCtrl* CreateSpinControl(CRect rectSpin);

Parámetros

rectSpin
[in] Rectángulo que define dónde se crea el control de botón de número editable.

Valor devuelto

Puntero a un nuevo objeto CMFCSpinButtonCtrl que se convierte como puntero a un objeto CSpinButtonCtrl.

Comentarios

Llame al método CMFCPropertyGridProperty::EnableSpinControl para mostrar un control de botón de número editable en el borde derecho de la propiedad.

CMFCPropertyGridProperty::Enable

Habilita o deshabilita una propiedad.

void Enable(BOOL bEnable=TRUE);

Parámetros

bEnable
[in] TRUE para habilitar la propiedad; FALSE para deshabilitar la propiedad. Las propiedades deshabilitadas no responden a la entrada del mouse o del teclado. El valor predeterminado es TRUE.

CMFCPropertyGridProperty::EnableSpinControl

Habilita o deshabilita un control de botón de número que se usa para modificar un valor de propiedad.

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

Parámetros

bEnable
[in] TRUE para habilitar el control de botón de número; FALSE para deshabilitar el control de botón de número. El valor predeterminado es TRUE.

nMin
[in] Valor mínimo del control de botón de número. El valor predeterminado es 0.

nMax
[in] Valor máximo del control de botón de número. El valor predeterminado es 0.

Comentarios

El marco crea automáticamente un control de botón de número cuando una propiedad está a punto de editarse.

El tipo de propiedad, que se especifica mediante el parámetro varValue del constructor CMFCPropertyGridProperty::CMFCPropertyGridProperty, debe ser un tipo de variante admitido. De lo contrario, este método se afirma en modo de depuración. Los tipos no admitidos incluyen VT_INT, VT_UINT, VT_I2, VT_I4, VT_UI2 y VT_UI4.

CMFCPropertyGridProperty::Expand

Expande o contrae una propiedad que contiene subpropiedades.

void Expand(BOOL bExpand=TRUE);

Parámetros

bExpand
[in] TRUE para expandir la propiedad; FALSE para contraer la propiedad. El valor predeterminado es TRUE.

CMFCPropertyGridProperty::FormatProperty

Da formato a la representación de texto de un valor de propiedad.

virtual CString FormatProperty();

Valor devuelto

Representación de texto del valor de propiedad.

Comentarios

El marco de trabajo llama a este elemento antes de que se muestre el valor de la propiedad.

CMFCPropertyGridProperty::GetData

Recupera un valor DWORD asociado a una propiedad.

DWORD_PTR GetData() const;

Valor devuelto

Valor DWORD.

Comentarios

Los datos que se devuelven son un valor específico de la aplicación, como un número o un puntero a otros datos. Especifique el valor de datos al construir la propiedad o al llamar al método CMFCPropertyGridProperty::SetData.

CMFCPropertyGridProperty::GetDescription

Recupera una descripción de propiedad.

const CString& GetDescription() const;

Valor devuelto

Cadena de texto que contiene la descripción de la propiedad.

Comentarios

El control de lista de propiedades también usa este método para mostrar la descripción de la propiedad.

CMFCPropertyGridProperty::GetExpandedSubItems

Recupera el número de subelementos expandidos.

int GetExpandedSubItems(BOOL bIncludeHidden=TRUE) const;

Parámetros

bIncludeHidden
[in] TRUE para incluir los subelementos ocultos en el recuento; de lo contrario, FALSE. El valor predeterminado es TRUE.

Valor devuelto

Número de subelementos expandidos.

CMFCPropertyGridProperty::GetHierarchyLevel

Recupera el índice de base cero del nivel de jerarquía de la propiedad.

int GetHierarchyLevel() const;

Valor devuelto

Nivel jerárquico de la propiedad.

CMFCPropertyGridProperty::GetName

Recupera el nombre de la propiedad.

LPCTSTR GetName() const;

Valor devuelto

Puntero a una cadena que contiene el nombre de la propiedad.

CMFCPropertyGridProperty::GetNameTooltip

El marco de trabajo llama a este elemento para mostrar el nombre de la propiedad en una información sobre herramientas.

virtual CString GetNameTooltip();

Valor devuelto

Cadena que contiene el nombre de la propiedad. De manera predeterminada, el valor devuelto es la cadena vacía.

CMFCPropertyGridProperty::GetOption

Recupera el texto de la opción que especifica un índice.

LPCTSTR GetOption(int nIndex) const;

Parámetros

nIndex
Índice de base cero del elemento de lista de propiedad (opción) que se va a recuperar.

Valor devuelto

Puntero a una cadena que contiene el texto de opción.

CMFCPropertyGridProperty::GetOptionCount

Recupera el número de opciones que pertenecen a una propiedad.

int GetOptionCount() const;

Valor devuelto

Número de elementos de lista de propiedades (opciones) contenidos en el control de propiedad.

Comentarios

Llame al método CMFCPropertyGridProperty::AddOption para agregar elementos a la lista de propiedades. Llame al método CMFCPropertyGridProperty::RemoveAllOptions para quitar todos los elementos.

CMFCPropertyGridProperty::GetOriginalValue

Recupera el valor inicial de la propiedad actual.

const COleVariant& GetOriginalValue() const;

Valor devuelto

Valor original de la propiedad actual.

Comentarios

Use este método para deshacer el efecto de una operación de edición que cambia el valor de la propiedad actual.

El constructor CMFCPropertyGridProperty::CMFCPropertyGridProperty establece el valor original de la propiedad actual, modificado por el método CMFCPropertyGridProperty::SetOriginalValue y restablecido por el método CMFCPropertyGridProperty::ResetOriginalValue.

CMFCPropertyGridProperty::GetParent

Recupera un puntero a una propiedad primaria.

CMFCPropertyGridProperty* GetParent() const;

Valor devuelto

Puntero a un objeto de propiedad primario o NULL para la propiedad de nivel superior.

CMFCPropertyGridProperty::GetRect

Recupera el rectángulo delimitador de una propiedad.

CRect GetRect() const;

Valor devuelto

Objeto CRect que describe el rectángulo delimitador.

CMFCPropertyGridProperty::GetSubItem

Recupera una subpropiedad identificada por un índice de base cero.

CMFCPropertyGridProperty* GetSubItem(int nIndex) const;

Parámetros

nIndex
[in] Índice de base cero de la propiedad que se va a recuperar. Este parámetro no es válido si es menor que cero o mayor o igual que el número de subpropiedades.

Valor devuelto

Puntero a un objeto de propiedad que es un elemento secundario de esta propiedad.

O bien

En el modo comercial, NULL si el parámetro nIndex no es válido. En el modo de depuración, este método afirma.

CMFCPropertyGridProperty::GetSubItemsCount

Recupera el número de subelementos.

int GetSubItemsCount() const;

Valor devuelto

Número de elementos secundarios.

CMFCPropertyGridProperty::GetValue

Recupera un valor de propiedad.

virtual const _variant_t& GetValue() const;

Valor devuelto

Variante que contiene el valor de la propiedad.

CMFCPropertyGridProperty::GetValueTooltip

El marco de trabajo llama a este elemento para recuperar la representación de texto del valor de propiedad que se muestra a continuación en una información sobre herramientas.

virtual CString GetValueTooltip();

Valor devuelto

Objeto CString que contiene la representación textual del valor de propiedad. De manera predeterminada, este valor es la cadena vacía.

CMFCPropertyGridProperty::HasButton

Indica si una propiedad contiene un botón.

virtual BOOL HasButton() const;

Valor devuelto

TRUE si una propiedad contiene un botón (o lista de propiedades); de lo contrario, FALSE.

CMFCPropertyGridProperty::HitTest

Apunta al objeto de propiedad que corresponde al elemento de lista de propiedades que corresponde a un punto.

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

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

Parámetros

point
[in] Punto para probar en coordenadas de cliente. Este parámetro suele ser la ubicación actual del puntero del mouse.

pt
[in] Punto para probar en coordenadas de cliente.

pnArea
[out] Cuando se devuelve este método, indica el área que contiene el punto especificado. Para obtener más información, vea la sección Comentarios. El valor predeterminado es NULL.

bPropsOnly
[in] TRUE para probar cualquier área del control de propiedad; FALSE para probar solo el área de descripción. El valor predeterminado es FALSE.

Valor devuelto

Puntero a un objeto de propiedad o NULL.

Comentarios

De forma predeterminada, este método prueba los subelementos de propiedad si el punto especificado no se encuentra dentro de ninguno de los elementos de propiedad.

En la tabla siguiente se enumeran los valores que se pueden devolver al parámetro pnArea.

Área Descripción
ClickArea::ClickExpandBox Control de cuadro de expansión, que se designa mediante un signo más (+).
ClickArea::ClickName Nombre de la propiedad.
ClickArea::ClickValue Valor de propiedad.

CMFCPropertyGridProperty::Init

El marco de trabajo llama a este elemento para inicializar un objeto de propiedad.

void Init();

CMFCPropertyGridProperty::IsAllowEdit

Indica si una propiedad es editable.

BOOL IsAllowEdit() const;

Valor devuelto

TRUE si la propiedad es editable; en caso contrario, FALSE.

CMFCPropertyGridProperty::IsEnabled

Indica si una propiedad está habilitada o deshabilitada.

BOOL IsEnabled() const;

Valor devuelto

TRUE si la propiedad está habilitada; FALSE si la propiedad está deshabilitada.

Comentarios

Indica si una propiedad está habilitada o deshabilitada.

CMFCPropertyGridProperty::IsExpanded

Indica si una propiedad está expandida o contraída.

BOOL IsExpanded() const;

Valor devuelto

TRUE si la propiedad está expandida; FALSE si la propiedad está contraída.

CMFCPropertyGridProperty::IsGroup

Indica si la propiedad actual representa un grupo.

BOOL IsGroup() const;

Valor devuelto

TRUE si el objeto de propiedad actual representa un grupo; FALSE si la propiedad representa un valor.

Comentarios

Un grupo es una colección de propiedades relacionadas en un control de cuadrícula de propiedades. Si el control se muestra jerárquicamente, el nombre del grupo se muestra como un título de categoría en la fila situada encima del grupo.

CMFCPropertyGridProperty::IsInPlaceEditing

Indica si la propiedad actual es editable.

BOOL IsInPlaceEditing() const;

Valor devuelto

TRUE si la propiedad actual es editable; en caso contrario, FALSE.

CMFCPropertyGridProperty::IsModified

Indica si la propiedad actual se ha modificado.

BOOL IsModified() const;

Valor devuelto

TRUE si se puede modificar la propiedad; en caso contrario, FALSE.

CMFCPropertyGridProperty::IsParentExpanded

Indica si los elementos primarios de la propiedad actual se han expandido.

BOOL IsParentExpanded() const;

Valor devuelto

TRUE si se expanden todos los elementos primarios de la propiedad actual; FALSE si se contraen las propiedades primarias.

CMFCPropertyGridProperty::IsSelected

Indica si la propiedad actual se ha seleccionado.

virtual BOOL IsSelected() const;

Valor devuelto

TRUE si se selecciona la propiedad actual; en caso contrario, FALSE.

CMFCPropertyGridProperty::IsSubItem

Indica si la propiedad especificada es un subelemento de la propiedad actual.

BOOL IsSubItem(CMFCPropertyGridProperty* pProp) const;

Parámetros

pProp
[in] Puntero a una propiedad.

Valor devuelto

TRUE si la propiedad especificada es un subelemento de la propiedad actual; de lo contrario, FALSE.

CMFCPropertyGridProperty::IsValueChanged

Indica si el valor de la propiedad actual ha cambiado.

virtual BOOL IsValueChanged() const;

Valor devuelto

TRUE si el valor de la propiedad actual ha cambiado; de lo contrario, FALSE.

CMFCPropertyGridProperty::IsVisible

Indica si la propiedad actual está visible.

BOOL IsVisible() const;

Valor devuelto

TRUE si la propiedad actual está visible; de lo contrario, FALSE.

CMFCPropertyGridProperty::m_strFormatDouble

Contiene una cadena de formato para un valor de tipo double.

static CString m_strFormatDouble;

CMFCPropertyGridProperty::m_strFormatFloat

Contiene una cadena de formato para un valor de tipo float.

static CString m_strFormatFloat;

CMFCPropertyGridProperty::m_strFormatLong

Contiene una cadena de formato para un valor de tipo long.

static CString m_strFormatLong;

CMFCPropertyGridProperty::m_strFormatShort

Contiene una cadena de formato para un valor de tipo short.

static CString m_strFormatShort;

CMFCPropertyGridProperty::OnClickButton

Lo llama el marco cuando el usuario selecciona un botón que se encuentra en una propiedad.

virtual void OnClickButton(CPoint point);

Parámetros

point
[in] Un punto, en coordenadas de cliente.

Comentarios

De forma predeterminada, este método no hace nada.

CMFCPropertyGridProperty::OnClickName

El control de la lista de propiedades primaria llama este elemento cuando un usuario selecciona el campo de nombre de una propiedad.

virtual void OnClickName(CPoint C);

Parámetros

C
[in] Un punto, en coordenadas de cliente.

Comentarios

De forma predeterminada, este método no hace nada.

CMFCPropertyGridProperty::OnClickValue

El control de la lista de propiedades primaria llama este elemento cuando un usuario selecciona el campo de valor de una propiedad.

virtual BOOL OnClickValue(
    UINT uiMsg,
    CPoint point);

Parámetros

uiMsg
[in] Un mensaje del mouse.

point
[in] Un punto, en coordenadas de cliente.

Valor devuelto

TRUE si este método procesa el mensaje del mouse especificado; de lo contrario, FALSE.

Comentarios

De forma predeterminada, este método devuelve FALSE si la propiedad actual no se puede editar. De lo contrario, el control de edición o número asociado a esta propiedad procesa el mensaje de mouse especificado y, a continuación, este método devuelve TRUE.

CMFCPropertyGridProperty::OnCloseCombo

El marco de trabajo llama a este elemento cuando se cierra un cuadro combinado contenido en una propiedad.

virtual void OnCloseCombo();

CMFCPropertyGridProperty::OnCtlColor

El marco de trabajo llama a este elemento cuando debe recuperar un pincel para rellenar el color de fondo de una propiedad.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

nCtlColor
[in] (Este parámetro no se usa.)

Valor devuelto

Manipulador de un pincel si este método es correcto; de lo contrario, NULL.

CMFCPropertyGridProperty::OnDblClk

El marco de trabajo llama a este elemento cuando el usuario hace clic en una propiedad.

virtual BOOL OnDblClk(CPoint point);

Parámetros

point
[in] Un punto, en coordenadas de cliente.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

De forma predeterminada, este método selecciona el siguiente elemento de propiedad en el control de lista de propiedades.

CMFCPropertyGridProperty::OnDestroyWindow

El marco de trabajo llama a este elemento cuando se destruye una propiedad o cuando finaliza la edición.

virtual void OnDestroyWindow();

CMFCPropertyGridProperty::OnDrawButton

El marco de trabajo llama a este elemento para dibujar un botón que se encuentra en una propiedad.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rectButton
[in] Rectángulo delimitador que especifica dónde dibujar un botón.

CMFCPropertyGridProperty::OnDrawDescription

El marco de trabajo llama a este elemento para dibujar la descripción de la propiedad.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador que especifica dónde dibujar la descripción de la propiedad.

Comentarios

De forma predeterminada, este método dibuja el nombre y la descripción de la propiedad en la fuente que usa por el control de lista de propiedades primaria. La descripción de la propiedad se dibuja en estilo normal y el nombre de la propiedad se dibuja en negrita.

CMFCPropertyGridProperty::OnDrawExpandBox

Lo llama el marco para dibujar un control de cuadro de expansión cerca de una propiedad que contiene subpropiedades.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rectExpand
[in] Rectángulo delimitador que especifica dónde dibujar el control del cuadro de expansión.

Comentarios

Seleccione el control de cuadro de expansión para expandir o contraer una lista de subpropiedades. El control del cuadro de expansión se designa mediante un cuadrado que contiene un signo más (+) o menos (-). Un signo más indica que la propiedad se puede expandir para mostrar una lista de subpropiedades. Un signo menos indica que la lista se puede contraer para mostrar solo la propiedad.

CMFCPropertyGridProperty::OnDrawName

El marco de trabajo llama a este elemento para mostrar el nombre de la propiedad.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador que especifica dónde dibujar el nombre de la propiedad.

CMFCPropertyGridProperty::OnDrawValue

Lo llama el marco para mostrar el valor de la propiedad.

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

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador que especifica dónde dibujar el valor de la propiedad.

CMFCPropertyGridProperty::OnEdit

Lo llama el marco cuando el usuario está a punto de modificar un valor de propiedad.

virtual BOOL OnEdit(LPPOINT lptClick);

Parámetros

lptClick
[in] (Este parámetro no se usa.) Puntero a un punto, en coordenadas de cliente.

Valor devuelto

TRUE si la operación de edición se inicia correctamente; de lo contrario, FALSE.

Comentarios

El marco de trabajo llama a esta función cuando el usuario está a punto de modificar un valor de propiedad. De forma predeterminada, este método inicia el editor adecuado para un control de cuadro combinado o un control de número.

CMFCPropertyGridProperty::OnEndEdit

El marco de trabajo llama a este elemento cuando el usuario ha terminado de modificar un valor de propiedad.

virtual BOOL OnEndEdit();

Valor devuelto

Este método devuelve siempre TRUE.

Comentarios

De forma predeterminada, este método destruye el control de edición actual y, a continuación, devuelve TRUE.

CMFCPropertyGridProperty::OnKillFocus

El marco de trabajo llama a este elemento cuando la propiedad pierde el foco de entrada.

virtual BOOL OnKillFocus(CWnd*);

Parámetros

CWnd
[in] (No se usa.) Puntero a una ventana.

Valor devuelto

Este método devuelve siempre TRUE.

Comentarios

De forma predeterminada, este método no hace nada y, a continuación, devuelve TRUE. Si invalida este método, devuelva TRUE si el marco de trabajo puede finalizar la operación de edición cuando la propiedad pierde el foco de entrada.

CMFCPropertyGridProperty::OnKillSelection

virtual void OnKillSelection(CMFCPropertyGridProperty*);

Parámetros

[in] CMFCPropertyGridProperty*\

Comentarios

De forma predeterminada, este método no hace nada.

CMFCPropertyGridProperty::OnPosSizeChanged

virtual void OnPosSizeChanged(CRect);

Parámetros

[in] CRect\

Comentarios

De forma predeterminada, este método no hace nada.

CMFCPropertyGridProperty::OnRClickName

El marco de trabajo llama a este elemento cuando el usuario selecciona el botón derecho del mouse en el área de nombre de propiedad.

virtual void OnRClickName(CPoint C);

Parámetros

C
[in] Un punto, en coordenadas de cliente.

Comentarios

De forma predeterminada, este método no hace nada.

CMFCPropertyGridProperty::OnRClickValue

El marco de trabajo llama a este elemento cuando el usuario selecciona el botón derecho del mouse en el área de valor de propiedad.

virtual void OnRClickValue(
    CPoint C,
    BOOL B);

Parámetros

C
[in] Un punto, en coordenadas de cliente.

B
[in] Valor booleano.

Comentarios

De forma predeterminada, este método no hace nada y el parámetro B no tiene ningún propósito predefinido.

CMFCPropertyGridProperty::OnSelectCombo

El marco de trabajo llama a este elemento cuando el usuario selecciona un elemento del cuadro combinado editable.

virtual void OnSelectCombo();

Comentarios

De forma predeterminada, este método usa el texto del elemento seleccionado para actualizar el valor de propiedad.

CMFCPropertyGridProperty::OnSetCursor

El marco de trabajo llama a este elemento cuando el puntero del mouse se mueve a un elemento de propiedad.

virtual BOOL OnSetCursor() const;

Valor devuelto

TRUE si la propiedad actual es un tipo variant o una lista de valores y este método carga correctamente el cursor del mouse del punto de inserción (I-beam); de lo contrario, FALSE.

Comentarios

Este método admite los siguientes tipos variant: VT_INT, VT_I2, VT_I4, VT_UINTVT_UI1, VT_UI2, VT_UI4, VT_R4, VT_R8 y VT_BSTR.

CMFCPropertyGridProperty::OnSetSelection

virtual void OnSetSelection CMFCPropertyGridProperty*);

Parámetros

[in] CMFCPropertyGridProperty*\

Comentarios

De forma predeterminada, este método no hace nada.

CMFCPropertyGridProperty::OnUpdateValue

Lo llama el marco cuando el valor de una propiedad editable ha cambiado.

virtual BOOL OnUpdateValue();

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

CMFCPropertyGridProperty::PushChar

Este elemento se llama desde el control de lista de propiedades cuando se selecciona la propiedad y el usuario escribe un nuevo carácter.

virtual BOOL PushChar(UINT nChar);

Parámetros

nChar
[in] Un carácter.

Valor devuelto

TRUE si la operación de edición continúa; de lo contrario, FALSE.

Comentarios

Este método admite una propiedad que es una lista de valores o uno de los siguientes tipos variant: VT_INT, VT_I2, VT_I4, VT_UINT, VT_UI1, VT_UI2, VT_UI4, VT_R4, VT_R8 y VT_BSTR.

CMFCPropertyGridProperty::Redraw

Vuelve a dibujar la propiedad.

void Redraw();

CMFCPropertyGridProperty::RemoveAllOptions

Quita todas las opciones (elementos) de una propiedad.

void RemoveAllOptions();

Comentarios

Las opciones también se conocen como elementos de lista de un control de lista de propiedades.

CMFCPropertyGridProperty::RemoveSubItem

Quita el subelemento especificado.

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

Parámetros

pProp
[in] Puntero a un subelemento de propiedad.

bDelete
[in] TRUE para eliminar el objeto de propiedad especificado por el parámetro pProp; de lo contrario, FALSE. El valor predeterminado es TRUE.

Valor devuelto

Comentarios

Especifique FALSE para el bDelete parámetro si piensa mover el subelemento especificado; es decir, quite el subelemento y, a continuación, agréguelo en otro lugar.

CMFCPropertyGridProperty::ResetOriginalValue

Restaura el valor original de una propiedad editable.

virtual void ResetOriginalValue();

CMFCPropertyGridProperty::SetData

Asocia un valor DWORD a una propiedad.

void SetData(DWORD_PTR dwData);

Parámetros

dwData
[in] Valor de 32 bits específico de la aplicación, como un entero o un puntero a otros datos.

Comentarios

Use el método CMFCPropertyGridProperty::GetData para recuperar el valor DWORD. Use el método CMFCPropertyGridCtrl::FindItemByData para buscar el elemento de lista de propiedades asociado al valor DWORD especificado.

CMFCPropertyGridProperty::SetDescription

Especifica el texto que describe la propiedad actual.

void SetDescription(const CString& strDescr);

Parámetros

strDescr
[in] Texto que describe la propiedad actual.

CMFCPropertyGridProperty::SetName

Establece el nombre de una propiedad.

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

Parámetros

lpszName
[in] Nombre de la propiedad.

bRedraw
[in] TRUE para volver a dibujar la propiedad inmediatamente; de lo contrario, FALSE. El valor predeterminado es TRUE.

CMFCPropertyGridProperty::SetOriginalValue

Establece el valor original de una propiedad editable.

virtual void SetOriginalValue(const COleVariant& varValue);

Parámetros

varValue
[in] Un valor.

Comentarios

Use el método CMFCPropertyGridProperty::ResetOriginalValue para restablecer el valor original de una propiedad editada.

CMFCPropertyGridProperty::SetValue

Establece el valor de una propiedad de cuadrícula de propiedades.

virtual void SetValue(const _variant_t& varValue);

Parámetros

varValue
[in] Referencia al valor en el que se va a establecer la propiedad.

Ejemplo: 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

Muestra u oculta una propiedad.

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

Parámetros

bShow
[in] TRUE para mostrar la propiedad actual y sus subelementos; FALSE para ocultar la propiedad actual y sus subelementos. El valor predeterminado es TRUE.

bAdjustLayout
[in] TRUE para recalcular cómo dibujar la etiqueta y el valor de una propiedad y, a continuación, dibujar la propiedad; FALSE para usar cálculos existentes para dibujar la propiedad. El valor predeterminado es TRUE.

Consulte también

Gráfico de jerarquías
Clases
Clase CMFCPropertyGridCtrl