CMFCPropertyGridCtrl (clase)
Para obtener información más detallada, consulta 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
.
Admite un control de cuadrícula de propiedades editables que puede mostrar propiedades en orden alfabético o jerárquico.
Sintaxis
class CMFCPropertyGridCtrl : public CWnd
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CMFCPropertyGridCtrl::CMFCPropertyGridCtrl |
Construye un objeto CMFCPropertyGridCtrl . |
CMFCPropertyGridCtrl::~CMFCPropertyGridCtrl |
Destructor. |
Métodos públicos
Nombre | Descripción |
---|---|
CMFCPropertyGridCtrl::accHitTest |
El marco llama a este método para recuperar el elemento u objeto secundario situado en un punto dado de la pantalla. (Invalida CWnd::accHitTest ). |
CMFCPropertyGridCtrl::accLocation |
El marco llama a este método para recuperar la ubicación actual del objeto especificado en la pantalla. (Invalida CWnd::accLocation ). |
CMFCPropertyGridCtrl::accSelect |
El marco llama a este método para modificar la selección o desplazar el foco de teclado del objeto especificado. (Invalida CWnd::accSelect ). |
CMFCPropertyGridCtrl::AddProperty |
Agrega una nueva propiedad a un control de cuadrícula de propiedades. |
CMFCPropertyGridCtrl::AlwaysShowUserToolTip |
|
CMFCPropertyGridCtrl::CloseColorPopup |
Cierra el cuadro de diálogo de selección de color. |
CMFCPropertyGridCtrl::Create |
Crea un control de cuadrícula de propiedades y lo adjunta al objeto de control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::DeleteProperty |
Elimina la propiedad especificada del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::DrawControlBarColors |
|
CMFCPropertyGridCtrl::EnableDescriptionArea |
Habilita o deshabilita el área de descripción que se muestra debajo de la lista de propiedades. |
CMFCPropertyGridCtrl::EnableHeaderCtrl |
Habilita o deshabilita el control de encabezado en la parte superior del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::EnsureVisible |
Desplaza un control de cuadrícula de propiedades y expande los elementos de propiedad hasta que la propiedad especificada sea visible. |
CMFCPropertyGridCtrl::ExpandAll |
Expande o contrae todos los nodos de control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::FindItemByData |
Recupera la propiedad asociada a un valor de DWORD definido por el usuario. |
CMFCPropertyGridCtrl::get_accChild |
El marco llama a este método para recuperar la dirección de una interfaz IDispatch del elemento secundario especificado. (Invalida CWnd::get_accChild ). |
CMFCPropertyGridCtrl::get_accChildCount |
El marco llama a este método para recuperar el número de elementos secundarios que pertenecen a este objeto. (Invalida CWnd::get_accChildCount ). |
CMFCPropertyGridCtrl::get_accDefaultAction |
El marco llama a este método para recuperar una cadena que describe la acción predeterminada del objeto. (Invalida CWnd::get_accDefaultAction ). |
CMFCPropertyGridCtrl::get_accDescription |
El marco llama a este método para recuperar una cadena que describe la apariencia visual del objeto especificado. (Invalida CWnd::get_accDescription ). |
CMFCPropertyGridCtrl::get_accFocus |
El marco llama a este método para recuperar el objeto que tiene el foco de teclado. (Invalida CWnd::get_accFocus ). |
CMFCPropertyGridCtrl::get_accHelp |
El marco llama a este método para recuperar la cadena de propiedad Help de un objeto. (Invalida CWnd::get_accHelp ). |
CMFCPropertyGridCtrl::get_accHelpTopic |
El marco llama a este método para recuperar la ruta de acceso completa del archivo WinHelp asociado al objeto especificado y el identificador del tema correspondiente dentro de ese archivo. (Invalida CWnd::get_accHelpTopic ). |
CMFCPropertyGridCtrl::get_accKeyboardShortcut |
El marco llama a este método para recuperar la tecla de método abreviado o la tecla de acceso del objeto especificado. (Invalida CWnd::get_accKeyboardShortcut ). |
CMFCPropertyGridCtrl::get_accName |
El marco llama a este método para recuperar el nombre del objeto especificado. (Invalida CWnd::get_accName ). |
CMFCPropertyGridCtrl::get_accRole |
El marco llama a este método para recuperar información que describe el rol del objeto especificado. (Invalida CWnd::get_accRole ). |
CMFCPropertyGridCtrl::get_accSelection |
El marco llama a este método para recuperar el elemento secundario seleccionado de este objeto. (Invalida CWnd::get_accSelection ). |
CMFCPropertyGridCtrl::get_accState |
El marco llama a este método para recuperar el estado actual del objeto especificado. (Invalida CWnd::get_accState ). |
CMFCPropertyGridCtrl::get_accValue |
El marco llama a este método para recuperar el valor del objeto especificado. (Invalida CWnd::get_accValue ). |
CMFCPropertyGridCtrl::GetBkColor |
Recupera el color de fondo del control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::GetBoldFont |
Recupera la fuente de Windows del texto de control de la cuadrícula de propiedades actual en negrita. |
CMFCPropertyGridCtrl::GetCurSel |
Recupera la propiedad actualmente seleccionada. |
CMFCPropertyGridCtrl::GetCustomColors |
Recupera los colores personalizados definidos actualmente para los elementos de control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetDescriptionHeight |
Recupera el alto del área de descripción situada en la parte inferior del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetDescriptionRows |
Recupera el número de filas del área de descripción del control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::GetHeaderCtrl |
Recupera el objeto CMFCHeaderCtrl interno que usa el marco de trabajo para mostrar el control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::GetHeaderHeight |
Recupera el alto del encabezado de control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetLeftColumnWidth |
Recupera el ancho de la columna izquierda del control de la cuadrícula de propiedades actual, que contiene el nombre de cada propiedad. |
CMFCPropertyGridCtrl::GetListRect |
Recupera el rectángulo delimitador del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetProperty |
Recupera un puntero al objeto de propiedad que corresponde al índice especificado de un elemento de control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetPropertyColumnWidth |
Recupera el ancho actual de la columna que contiene los valores de propiedad. |
CMFCPropertyGridCtrl::GetPropertyCount |
Recupera el número de propiedades en el control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetRowHeight |
Recupera el alto de una fila en el control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::GetScrollBarCtrl |
Recupera un puntero al control de la barra de desplazamiento en el control de la cuadrícula de propiedades. (Invalida CWnd::GetScrollBarCtrl ). |
CMFCPropertyGridCtrl::GetTextColor |
Recupera el color del texto de los elementos de propiedad en el control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::GetThisClass |
El marco de trabajo usa este elemento para obtener un puntero al objeto CRuntimeClass asociado a este tipo de clase. |
CMFCPropertyGridCtrl::HitTest |
Recupera un puntero al objeto de propiedad que corresponde a un elemento de control de la cuadrícula de propiedades si un punto especificado está en el elemento. Este método también indica el área del control de la cuadrícula de propiedades que contiene el punto. |
CMFCPropertyGridCtrl::InitHeader |
Inicializa el objeto CMFCHeaderCtrl interno que usa el marco de trabajo para mostrar el control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::IsAlphabeticMode |
Indica si un control de la cuadrícula de propiedades está en modo alfabético. |
CMFCPropertyGridCtrl::IsAlwaysShowUserToolTip |
|
CMFCPropertyGridCtrl::IsDescriptionArea |
Indica si se muestra el área de descripción del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::IsGroupNameFullWidth |
Indica si cada nombre del grupo de propiedades se muestra en el ancho del control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::IsHeaderCtrl |
Indica si se muestra el control del encabezado. |
CMFCPropertyGridCtrl::IsMarkModifiedProperties |
Indica cómo el control de la cuadrícula de propiedades muestra las propiedades modificadas. |
CMFCPropertyGridCtrl::IsShowDragContext |
Indica si el marco vuelve a dibujar las columnas de nombre y de valor del control de la cuadrícula de propiedades actual cuando un usuario cambia el tamaño de las columnas. |
CMFCPropertyGridCtrl::IsVSDotNetLook |
Indica si la apariencia del control de la cuadrícula de propiedades está en el estilo que usa VS .NET. |
CMFCPropertyGridCtrl::MarkModifiedProperties |
Especifica cómo mostrar las propiedades modificadas. |
CMFCPropertyGridCtrl::PreTranslateMessage |
Utilizado por la clase CWinApp para traducir los mensajes de ventana antes de que se distribuyan a las funciones de Windows TranslateMessage y DispatchMessage . (Invalida CWnd::PreTranslateMessage ). |
CMFCPropertyGridCtrl::RemoveAll |
Quita todos los objetos de propiedad de un control de cuadrícula de propiedades. |
CMFCPropertyGridCtrl::ResetOriginalValues |
Restaura el valor original de todas las propiedades. |
CMFCPropertyGridCtrl::SetAlphabeticMode |
Establece o restablece el modo alfabético. |
CMFCPropertyGridCtrl::SetBoolLabels |
Especifica el texto de las etiquetas booleanas. |
CMFCPropertyGridCtrl::SetCurSel |
Selecciona una propiedad en un control de cuadrícula de propiedades. |
CMFCPropertyGridCtrl::SetCustomColors |
Especifica colores personalizados para varios elementos de control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::SetDescriptionRows |
Especifica el número de filas que se mostrarán en la sección de descripción del control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::SetGroupNameFullWidth |
Especifica si se debe mostrar el ancho completo del nombre de categoría para un grupo de propiedades en el control de la cuadrícula de propiedades actual. |
CMFCPropertyGridCtrl::SetListDelimiter |
Define un carácter que se usará como delimitador en una lista de valores de propiedad. |
CMFCPropertyGridCtrl::SetShowDragContext |
Especifica si el marco vuelve a dibujar las columnas de nombre y valor del control de la cuadrícula de propiedades actual cuando un usuario cambia el tamaño de las columnas. |
CMFCPropertyGridCtrl::SetVSDotNetLook |
Establece la apariencia del control de la cuadrícula de propiedades en el estilo que se usa en VS .NET. |
CMFCPropertyGridCtrl::UpdateColor |
Establece el valor de color de la propiedad de color seleccionada actualmente. |
Métodos protegidos
Nombre | Descripción |
---|---|
CMFCPropertyGridCtrl::AdjustLayout |
Vuelve a dibujar el control de la cuadrícula de propiedades y sus propiedades. |
CMFCPropertyGridCtrl::CompareProps |
Lo llama el control de la cuadrícula de propiedades para ordenar las propiedades. |
CMFCPropertyGridCtrl::EditItem |
Lo llama el marco de trabajo cuando el usuario empieza a modificar una propiedad. |
CMFCPropertyGridCtrl::EndEditItem |
Lo llama el marco de trabajo cuando el usuario deja de modificar una propiedad. |
CMFCPropertyGridCtrl::Init |
Lo llama el marco de trabajo para inicializar el control de la cuadrícula propiedad. |
CMFCPropertyGridCtrl::OnChangeSelection |
Lo llama el marco de trabajo cuando se cambia la selección actual. |
CMFCPropertyGridCtrl::OnClickButton |
Lo llama el marco de trabajo cuando se hace clic en un botón de propiedad. |
CMFCPropertyGridCtrl::OnDrawBorder |
Lo llama el marco de trabajo para dibujar un borde alrededor del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::OnDrawDescription |
Lo llama el marco de trabajo para dibujar el área de descripción y mostrar el texto de descripción. |
CMFCPropertyGridCtrl::OnDrawList |
Lo llama el marco de trabajo para mostrar la lista de propiedades en el control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::OnDrawProperty |
Lo llama el marco de trabajo para mostrar una propiedad. |
CMFCPropertyGridCtrl::OnPropertyChanged |
Lo llama el marco de trabajo cuando el valor de una propiedad ha cambiado. |
CMFCPropertyGridCtrl::OnSelectCombo |
Lo llama el marco de trabajo cuando se selecciona una propiedad que contiene un control de cuadro combinado. |
CMFCPropertyGridCtrl::ValidateItemData |
Lo llama el marco de trabajo para validar los datos de propiedad. |
Comentarios
La clase CMFCPropertyGridCtrl
muestra un control de cuadrícula de propiedades que contiene propiedades editables derivadas de la clase CMFCPropertyGridProperty
. Cada propiedad puede representar un tipo y puede contener subelementos. El control de la cuadrícula de propiedades admite un área de tamaño ajustable en la parte inferior que puede mostrar la descripción de la propiedad seleccionada.
Para usar un control de cuadrícula de propiedades, construya un objeto CMFCPropertyGridCtrl
y, a continuación, llame al método CMFCPropertyGridCtrl::Create
. Use el método CMFCPropertyGridCtrl::AddProperty
para agregar propiedades a la lista.
Propiedades de selección
En lugar de representar un valor, un elemento de propiedad puede iniciar un cuadro de diálogo que permite al usuario seleccionar un color, un archivo o una fuente.
En la tabla siguiente se enumeran cuatro tipos de propiedades de selección:
Clase | Descripción |
---|---|
CMFCPropertyGridProperty (clase) |
Propiedad de uso general que se usa para especificar el valor de cadenas, booleanos, fechas, entre otros. |
CMFCPropertyGridColorProperty (clase) |
Propiedad que se usa para seleccionar un valor de color. |
CMFCPropertyGridFileProperty (clase) |
Propiedad que se usa para seleccionar un archivo. |
CMFCPropertyGridFontProperty (clase) |
Propiedad que se usa para seleccionar una fuente. |
Ilustraciones
En las ilustraciones siguientes se muestra un control de cuadrícula de propiedades que muestra las propiedades de dos maneras. La primera ilustración muestra las propiedades jerárquicamente y la segunda muestra las propiedades alfabéticamente.
Ejemplo
En el ejemplo siguiente se muestra cómo configurar un objeto de control de cuadrícula de propiedades mediante varios métodos de clase CMFCPropertyGridCtrl
. En el ejemplo se muestra cómo habilitar el control de encabezado, habilitar el área de descripción y establecer la apariencia del control de la cuadrícula de propiedades. En el ejemplo también se muestra cómo establecer el modo alfabético en el que el control ordena todas las propiedades que contiene por su nombre de propiedad y cómo establecer los colores personalizados para varios elementos del control de la cuadrícula de propiedades. Este ejemplo forma parte del ejemplo de controles nuevos.
CMFCPropertyGridCtrl m_wndPropList;
m_wndPropList.EnableHeaderCtrl();
m_wndPropList.EnableDescriptionArea();
m_wndPropList.SetVSDotNetLook(m_bDotNetLook);
// BOOL m_bMarkChanged
m_wndPropList.MarkModifiedProperties(m_bMarkChanged);
// BOOL m_bPropListCategorized
m_wndPropList.SetAlphabeticMode(!m_bPropListCategorized);
// BOOL m_bShowDragContext
m_wndPropList.SetShowDragContext(m_bShowDragContext);
// BOOL m_bMarkSortedColumn
m_wndList.EnableMarkSortedColumn(m_bMarkSortedColumn);
// BOOL m_bPropListCustomColors
// set custom colors for various elements of the property grid control
if (m_bPropListCustomColors)
{
m_wndPropList.SetCustomColors(RGB(228, 243, 254), RGB(46, 70, 165), RGB(200, 236, 209), RGB(33, 102, 49), RGB(255, 229, 216), RGB(128, 0, 0), RGB(159, 159, 255));
}
else
{
COLORREF c = (COLORREF)-1;
m_wndPropList.SetCustomColors(c, c, c, c, c, c, c);
}
m_wndPropList.RedrawWindow();
// restore original values of the properties
m_wndPropList.ResetOriginalValues();
Jerarquía de herencia
Requisitos
Encabezado: afxpropertygridctrl.h
CMFCPropertyGridCtrl::accSelect
virtual HRESULT accSelect(
long flagsSelect,
VARIANT varChild);
Parámetros
[in] flagsSelect
[in] varChild
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::AddProperty
Agrega una nueva propiedad a un control de cuadrícula de propiedades.
int AddProperty(
CMFCPropertyGridProperty* pProp,
BOOL bRedraw=TRUE,
BOOL bAdjustLayout=TRUE);
Parámetros
pProp
[in] Puntero a una propiedad.
bRedraw
[in] TRUE
para volver a dibujar la propiedad inmediatamente; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
bAdjustLayout
[in] TRUE
para volver a calcular cómo dibujar el texto y el valor de la propiedad y, a continuación, dibujar la propiedad; FALSE
para usar cálculos existentes para dibujar la propiedad. El valor predeterminado es TRUE
.
Valor devuelto
Si este método se realiza correctamente, el índice de base cero de la posición en el control de cuadrícula de propiedades donde se agrega la propiedad; de lo contrario, -1.
Comentarios
Este método agrega un puntero a la propiedad especificada al final de la lista de propiedades del control de la cuadrícula de propiedades. No destruya las propiedades ni permita que se salgan del ámbito antes de que se destruya el control de cuadrícula. Cuando haya terminado con el control de la cuadrícula de propiedades, llame a CMFCPropertyGridCtrl::RemoveAll
para eliminar todas las propiedades agregadas. Se produce un error en el método AddProperty si la propiedad especificada ya se ha agregado a la lista.
CMFCPropertyGridCtrl::AdjustLayout
Vuelve a dibujar el control de la cuadrícula de propiedades y sus propiedades.
virtual void AdjustLayout();
Comentarios
Este método recalcula cómo dibujar todo el control de cuadrícula de propiedades y sus propiedades, incluidas imágenes, fuentes y controles.
CMFCPropertyGridCtrl::AlwaysShowUserToolTip
void AlwaysShowUserToolTip(BOOL bShow = TRUE);
Parámetros
[in] bShow
\
Comentarios
CMFCPropertyGridCtrl::CloseColorPopup
Cierra el cuadro de diálogo de selección de color.
virtual void CloseColorPopup();
Comentarios
Para obtener más información sobre el cuadro de diálogo de la selección, vea CMFCPropertyGridColorProperty
Clase.
CMFCPropertyGridCtrl::CMFCPropertyGridCtrl
Construye un objeto CMFCPropertyGridCtrl
.
CMFCPropertyGridCtrl();
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::CompareProps
Lo llama el control de la cuadrícula de propiedades para ordenar las propiedades.
virtual int CompareProps(
const CMFCPropertyGridProperty* pProp1,
const CMFCPropertyGridProperty* pProp2) const;
Parámetros
pProp1
Puntero a una propiedad.
pProp2
Puntero a una propiedad.
Valor devuelto
Valor devuelto | Descripción |
---|---|
< 0 | El nombre del parámetro pProp1 es menor que el nombre del parámetro pProp2 . |
0 | El nombre del parámetro pProp1 es igual que el nombre del parámetro pProp2 . |
> 0 | El nombre del objeto pProp1 es mayor que el nombre del parámetro pProp2 . |
Comentarios
De forma predeterminada, este método usa el método CString::Compare
para comparar los miembros CMFCPropertyGridProperty::m_strName
de los parámetros especificados.
CMFCPropertyGridCtrl::Create
Crea un control de cuadrícula de propiedades y lo adjunta al objeto de control de la cuadrícula de propiedades.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parámetros
dwStyle
[in] Combinación bit a bit “o” (|
) de los estilos de ventana.
rect
[in] Rectángulo delimitador que especifica el tamaño y la posición de la ventana, en las coordenadas de cliente de pParentWnd
.
pParentWnd
[entrada] Un puntero a la ventana primaria. No debe ser NULL
.
nID
[in] Identificador de la ventana secundaria.
Valor devuelto
TRUE
si la ventana se creó correctamente; de lo contrario, FALSE
.
Comentarios
Para crear un control de cuadrícula de propiedades, primero llame a CMFCPropertyGridCtrl::CMFCPropertyGridCtrl
para construir un objeto de cuadrícula de propiedades. A continuación, llame a CMFCPropertyGridCtrl::Create
.
Ejemplo
En el siguiente ejemplo se muestra cómo utilizar el método Create
en la clase CMFCPropertyGridCtrl
. Este ejemplo forma parte del ejemplo de controles nuevos.
// CRect rectPropList
// CMFCPropertyGridCtrl m_wndPropList
// The this pointer points to a CPage5 class which extends the CMFCPropertyPage class.
m_wndPropList.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, rectPropList, this, (UINT)-1);
CMFCPropertyGridCtrl::DeleteProperty
Elimina la propiedad especificada del control de la cuadrícula de propiedades.
BOOL DeleteProperty(
CMFCPropertyGridProperty*& pProp,
BOOL bRedraw=TRUE,
BOOL bAdjustLayout=TRUE);
Parámetros
pProp
[in] Puntero a una propiedad.
bRedraw
[in] TRUE
para volver a dibujar el control de la cuadrícula de propiedades; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
bAdjustLayout
[in] TRUE
para volver a calcular cómo dibujar todo el texto, las imágenes y los elementos del control de la cuadrícula de propiedades y, a continuación, dibujar el control; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Valor devuelto
TRUE
si este método es correcto; en caso contrario, FALSE
.
Comentarios
Use este método para eliminar una propiedad y todos los subelementos del control de la cuadrícula de propiedades.
CMFCPropertyGridCtrl::DrawControlBarColors
BOOL DrawControlBarColors() const;
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::EditItem
Lo llama el marco de trabajo cuando el usuario empieza a modificar una propiedad.
virtual BOOL EditItem(
CMFCPropertyGridProperty* pProp,
LPPOINT lptClick=NULL);
Parámetros
pProp
[in] Puntero a una propiedad.
lptClick
[in] Punto del control de la cuadrícula de propiedades en el que el usuario hizo clic para comenzar la operación de edición. El punto está en las coordenadas cliente del control. El valor predeterminado es NULL
.
Valor devuelto
TRUE
si el método es correcto; en caso contrario, FALSE
.
Comentarios
CMFCPropertyGridCtrl::EnableDescriptionArea
Habilita o deshabilita el área de descripción que se muestra debajo de la lista de propiedades del control de la cuadrícula de propiedades.
void EnableDescriptionArea(BOOL bEnable=TRUE);
Parámetros
bEnable
[in] TRUE
para habilitar el área de descripción; FALSE
para deshabilitar el área de descripción. El valor predeterminado es TRUE
.
Comentarios
El área de descripción se muestra en la parte inferior del control de la cuadrícula de propiedades. De forma predeterminada, el área de descripción está deshabilitada y no es visible.
CMFCPropertyGridCtrl::EnableHeaderCtrl
Habilita o deshabilita el control de encabezado en la parte superior del control de la cuadrícula de propiedades.
void EnableHeaderCtrl(
BOOL bEnable=TRUE,
LPCTSTR lpszLeftColumn=_T("Property"),
LPCTSTR lpszRightColumn=_T("Value"));
Parámetros
bEnable
[in] TRUE
para habilitar el control de encabezado; FALSE
para deshabilitar el control de encabezado. El valor predeterminado es TRUE
.
lpszLeftColumn
[in] Título de la columna izquierda del control de encabezado. El valor predeterminado es Property
.
lpszRightColumn
[in] Título de la columna derecha del control de encabezado. El valor predeterminado es Value
.
CMFCPropertyGridCtrl::EndEditItem
Lo llama el marco de trabajo cuando el usuario termina de modificar una propiedad.
virtual BOOL EndEditItem(BOOL bUpdateData=TRUE);
Parámetros
bUpdateData
[in] TRUE
para especificar que se deben validar los datos de propiedad modificados cuando se complete la operación de edición; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Valor devuelto
TRUE
si la operación de edición finaliza correctamente; FALSE
si los datos de propiedad modificados no son válidos o si la operación de edición debe continuar.
Comentarios
CMFCPropertyGridCtrl::EnsureVisible
Desplaza un control de cuadrícula de propiedades y expande los elementos de propiedad hasta que la propiedad especificada sea visible.
void EnsureVisible(
CMFCPropertyGridProperty* pProp,
BOOL bExpandParents=FALSE);
Parámetros
pProp
[in] Puntero a una propiedad.
bExpandParents
[in] TRUE
para expandir los elementos primarios para hacer que la propiedad especificada sea visible; de lo contrario, FALSE
. El valor predeterminado es FALSE
.
Comentarios
CMFCPropertyGridCtrl::ExpandAll
Expande o contrae todos los nodos de control de la cuadrícula de propiedades.
void ExpandAll(BOOL bExpand=TRUE);
Parámetros
bExpand
[in] TRUE
para expandir todos los nodos; FALSE
para contraer todos los nodos. El valor predeterminado es TRUE
.
Comentarios
CMFCPropertyGridCtrl::FindItemByData
Recupera la propiedad asociada a un valor de DWORD
definido por el usuario.
CMFCPropertyGridProperty* FindItemByData(
DWORD_PTR dwData,
BOOL bSearchSubItems=TRUE) const;
Parámetros
dwData
[in] Valor DWORD
.
bSearchSubItems
[in] TRUE
para buscar los subelementos de propiedad; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Valor devuelto
Puntero al objeto de propiedad asociado si este método se realiza correctamente; de lo contrario, NULL
.
Comentarios
Use el constructor CMFCPropertyGridCtrl::CMFCPropertyGridCtrl
o método CMFCPropertyGridProperty::SetData
para asociar un DWORD
a una propiedad.
CMFCPropertyGridCtrl::get_accChildCount
virtual HRESULT get_accChildCount(long* pcountChildren);
Parámetros
[in] pcountChildren
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::get_accFocus
virtual HRESULT get_accFocus(VARIANT* pvarChild);
Parámetros
[in] pvarChild
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::get_accHelp
virtual HRESULT get_accHelp(
VARIANT varChild,
BSTR* pszHelp);
Parámetros
[in] varChild
[in] pszHelp
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::get_accHelpTopic
virtual HRESULT get_accHelpTopic(
BSTR* pszHelpFile,
VARIANT varChild,
long* pidTopic);
Parámetros
[in] pszHelpFile
[in] varChild
[in] pidTopic
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::get_accKeyboardShortcut
virtual HRESULT get_accKeyboardShortcut(
VARIANT varChild,
BSTR* pszKeyboardShortcut);
Parámetros
[in] varChild
[in] pszKeyboardShortcut
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::get_accSelection
virtual HRESULT get_accSelection(VARIANT* pvarChildren);
Parámetros
[in] pvarChildren
\
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::GetBkColor
Recupera el color de fondo del control de la cuadrícula de propiedades actual.
COLORREF GetBkColor() const;
Valor devuelto
Un valor de color RGB.
Comentarios
Este método recupera el color que usa el marco de trabajo para dibujar el fondo del control de la cuadrícula de propiedades actual. El método CMFCPropertyGridCtrl::GetTextColor
recupera el color de primer plano.
CMFCPropertyGridCtrl::GetBoldFont
Recupera la fuente de Windows que se usa para dibujar texto en el control de la cuadrícula de propiedades actual en negrita.
CFont& GetBoldFont();
Valor devuelto
Referencia a un objeto CFont
que describe las características de una fuente en negrita.
CMFCPropertyGridCtrl::GetCurSel
Recupera la propiedad actualmente seleccionada.
CMFCPropertyGridProperty* GetCurSel() const;
Valor devuelto
Puntero al objeto de propiedad que corresponde al elemento seleccionado en el control de la cuadrícula de propiedades.
Comentarios
CMFCPropertyGridCtrl::GetCustomColors
Recupera los colores personalizados definidos actualmente para los elementos de control de la cuadrícula de propiedades.
void GetCustomColors(
COLORREF& clrBackground,
COLORREF& clrText,
COLORREF& clrGroupBackground,
COLORREF& clrGroupText,
COLORREF& clrDescriptionBackground,
COLORREF& clrDescriptionText,
COLORREF& clrLine);
Parámetros
clrBackground
[out] Color de fondo de los valores de propiedad.
clrText
[out] Color de los nombres de propiedad y texto del valor de propiedad.
clrGroupBackground
[out] Color de fondo de un grupo de propiedades.
clrGroupText
[out] Color del texto del grupo de propiedades.
clrDescriptionBackground
[out] Color de fondo del área de descripción.
clrDescriptionText
[out] Color del texto en el área de descripción.
clrLine
[out] Color de las líneas que se dibujan entre las propiedades.
Comentarios
Use el método CMFCPropertyGridCtrl::SetCustomColors
para establecer colores personalizados.
CMFCPropertyGridCtrl::GetDescriptionHeight
Recupera el alto del área de descripción, que se encuentra en la parte inferior del control de la cuadrícula de propiedades.
int GetDescriptionHeight() const;
Valor devuelto
Alto del área de descripción, en píxeles.
Comentarios
El alto del área de descripción se calcula automáticamente y se establece en 1/4 del alto del control de la cuadrícula de propiedades.
Use el método CMFCPropertyGridCtrl::EnableDescriptionArea
para mostrar u ocultar el área de descripción. Use el método CMFCPropertyGridCtrl::IsDescriptionArea
para determinar si el área de descripción se muestra u oculta.
CMFCPropertyGridCtrl::GetDescriptionRows
Recupera el número de filas del área de descripción del control de la cuadrícula de propiedades actual.
int GetDescriptionRows() const;
Valor devuelto
Número de filas del área de descripción del control de la cuadrícula de propiedades actual.
Comentarios
El constructor CMFCPropertyGridCtrl::CMFCPropertyGridCtrl
inicializa el área de descripción en 3 filas.
CMFCPropertyGridCtrl::GetHeaderCtrl
Recupera el objeto CMFCHeaderCtrl
interno que usa el marco de trabajo para mostrar el control de la cuadrícula de propiedades actual.
virtual CMFCHeaderCtrl& GetHeaderCtrl();
Valor devuelto
Referencia a un objeto CMFCHeaderCtrl
.
CMFCPropertyGridCtrl::GetHeaderHeight
Recupera el alto del encabezado de un control de la cuadrícula de propiedades.
int GetHeaderHeight() const;
Valor devuelto
Alto del encabezado, en píxeles.
Comentarios
CMFCPropertyGridCtrl::GetLeftColumnWidth
Recupera el ancho de la columna izquierda del control de la cuadrícula de propiedades actual, que contiene el nombre de cada propiedad.
int GetLeftColumnWidth() const;
Valor devuelto
Ancho de la columna de nombre.
Comentarios
La columna derecha de un control de cuadrícula de propiedades contiene el valor de cada propiedad.
CMFCPropertyGridCtrl::GetListRect
Recupera el rectángulo delimitador del control de la cuadrícula de propiedades.
CRect GetListRect() const;
Valor devuelto
Rectángulo delimitador del control de cuadrícula de propiedades. Este rectángulo no incluye el área de descripción ni el encabezado.
Comentarios
CMFCPropertyGridCtrl::GetProperty
Recupera un puntero al objeto de propiedad que corresponde al índice especificado de un elemento en un control de cuadrícula de propiedades.
CMFCPropertyGridProperty* GetProperty(int nIndex) const;
Parámetros
nIndex
[in] Índice de base cero de un elemento de control de la cuadrícula de propiedades.
Este método declara si el parámetro nIndex
es menor que cero o mayor o igual que el número de propiedades.
Valor devuelto
Puntero al objeto de propiedad que corresponde con el índice especificado si este método se realiza correctamente; de lo contrario, NULL
.
Comentarios
CMFCPropertyGridCtrl::GetPropertyColumnWidth
Recupera el ancho actual de la columna que contiene los valores de propiedad.
int GetPropertyColumnWidth() const;
Valor devuelto
Ancho actual de la columna que contiene los valores de propiedad.
Comentarios
La columna de la derecha del control de la cuadrícula de propiedades contiene los valores de propiedad. Un cliente puede usar el cuadro de división del control de cuadrícula de propiedades para cambiar el ancho de la columna de valores.
CMFCPropertyGridCtrl::GetPropertyCount
Recupera el número de propiedades en el control de la cuadrícula de propiedades.
int GetPropertyCount() const;
Valor devuelto
Número de propiedades.
Comentarios
CMFCPropertyGridCtrl::GetRowHeight
Recupera el alto de una fila en el control de la cuadrícula de propiedades.
int GetRowHeight() const;
Valor devuelto
Alto de una fila.
Comentarios
El alto de una fila es igual al alto de fuente actual más 4 píxeles.
CMFCPropertyGridCtrl::GetScrollBarCtrl
Recupera un puntero al control de la barra de desplazamiento en el control de la cuadrícula de propiedades.
virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
Parámetros
nBar
[in] Orientación de la barra de desplazamiento, que debe ser SB_VERT
.
Valor devuelto
Puntero a un objeto de la barra de desplazamiento o NULL
si no hay ninguna barra de desplazamiento o si la orientación de la barra de desplazamiento es SB_HORZ
.
Comentarios
Use este método para obtener acceso directo al control de la barra de desplazamiento vertical.
CMFCPropertyGridCtrl::GetTextColor
Recupera el color que se usa para dibujar el texto de los elementos de propiedad en el control de la cuadrícula de propiedades actual.
COLORREF GetTextColor() const;
Valor devuelto
Un valor de color RGB.
Comentarios
Este método recupera el color que usa el marco de trabajo para dibujar el primer plano del control de la cuadrícula de propiedades actual. El método CMFCPropertyGridCtrl::GetBkColor
recupera el color de fondo.
CMFCPropertyGridCtrl::HitTest
Recupera un puntero al objeto de propiedad que corresponde a un elemento de control de la cuadrícula de propiedades si un punto especificado está en el elemento. Este método también indica el área del control de la cuadrícula de propiedades que contiene el punto.
CMFCPropertyGridProperty* HitTest(
CPoint pt,
CMFCPropertyGridProperty::ClickArea* pnArea=NULL,
BOOL bPropsOnly=FALSE) const;
Parámetros
pt
[in] Un punto, en coordenadas de cliente.
pnArea
[in, out] Puntero a una variable ClickArea
. Cuando este método devuelve un resultado, la variable indica el área de propiedad que contiene el punto especificado. Para obtener más información sobre el área de propiedades, vea los Comentarios.
bPropsOnly
[in] TRUE
para probar solo el área de propiedades; FALSE
para probar el área de descripción si el punto especificado no está en el área de propiedades. El valor predeterminado es FALSE
. Para obtener más información sobre el área de descripción, vea los Comentarios.
Valor devuelto
Si el parámetro bPropsOnly
es TRUE
y el punto especificado está en un área de propiedad, el valor devuelto es un puntero al objeto de propiedad correspondiente. Además, el parámetro pnArea
se establece en el área concreta que contiene el punto especificado. De lo contrario, el valor devuelto es NULL
y el parámetro pnArea
no se modifica.
Si el parámetro bPropsOnly
es FALSE
, el valor devuelto siempre es NULL
. Sin embargo, si el punto especificado está en el área de descripción, el parámetro pnArea
se establece en CMFCPropertyGridProperty::ClickDescription
.
Comentarios
El término área de propiedad hace referencia a cualquiera de las áreas de nombre, valor o cuadro de expansión de un elemento de control de la cuadrícula de propiedades. El área de descripción es la zona en la parte inferior de un control de la cuadrícula de propiedades. Al seleccionar un elemento de control de la cuadrícula de propiedades, el área de descripción muestra una descripción de la propiedad correspondiente.
Este método establece el valor de la variable a la que apunta el parámetro pnArea
. En la tabla siguiente se enumeran los valores posibles y las áreas correspondientes.
Valor | Área |
---|---|
ClickArea::ClickExpandBox |
Control del cuadro de expansión de propiedades. |
ClickArea::ClickName |
Nombre de la propiedad. |
ClickArea::ClickValue |
Valor de propiedad. |
CMFCPropertyGridProperty::ClickDescription |
Área de descripción del control de la cuadrícula de propiedades. |
CMFCPropertyGridCtrl::Init
Lo llama el marco de trabajo para inicializar el control de la cuadrícula propiedad.
virtual void Init();
Comentarios
CMFCPropertyGridCtrl::InitHeader
Inicializa el objeto CMFCHeaderCtrl
interno que usa el marco de trabajo para mostrar el control de la cuadrícula de propiedades actual.
virtual void InitHeader();
CMFCPropertyGridCtrl::IsAlphabeticMode
Indica si un control de la cuadrícula de propiedades está en modo alfabético.
BOOL IsAlphabeticMode() const;
Valor devuelto
TRUE
si el control de la cuadrícula de propiedades está en modo alfabético; de lo contrario FALSE
.
Comentarios
Cuando el control de la cuadrícula de propiedades está en modo alfabético, todas las propiedades se ordenan alfabéticamente por sus nombres. De lo contrario, las propiedades se agrupan en sus nodos primarios.
Use el método CMFCPropertyGridCtrl::SetAlphabeticMode
para habilitar o deshabilitar el modo alfabético.
CMFCPropertyGridCtrl::IsAlwaysShowUserToolTip
BOOL IsAlwaysShowUserToolTip() const;
Valor devuelto
Comentarios
CMFCPropertyGridCtrl::IsDescriptionArea
Indica si se muestra el área de descripción del control de la cuadrícula de propiedades.
BOOL IsDescriptionArea() const;
Valor devuelto
TRUE
si se muestra el área de descripción; de lo contrario, FALSE
.
Comentarios
Use el método CMFCPropertyGridCtrl::EnableDescriptionArea
para ocultar o mostrar el área de descripción.
CMFCPropertyGridCtrl::IsGroupNameFullWidth
Indica si cada nombre del grupo de propiedades se muestra en el ancho del control de la cuadrícula de propiedades actual.
BOOL IsGroupNameFullWidth() const;
Valor devuelto
TRUE
si los nombres de grupo se muestran en el ancho del control de la cuadrícula de propiedades; FALSE
si los nombres de grupo se truncan por la columna derecha (valor) del control.
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.
CMFCPropertyGridCtrl::IsHeaderCtrl
Indica si se muestra el control del encabezado.
BOOL IsHeaderCtrl() const;
Valor devuelto
TRUE
si se muestra el control de encabezado; de lo contrario FALSE
.
Comentarios
Use el método CMFCPropertyGridCtrl::EnableHeaderCtrl
para ocultar o mostrar el control de encabezado.
CMFCPropertyGridCtrl::IsMarkModifiedProperties
Indica cómo el control de la cuadrícula de propiedades muestra las propiedades modificadas.
BOOL IsMarkModifiedProperties() const;
Valor devuelto
TRUE
si se usa el estilo en negrita para mostrar las propiedades modificadas; FALSE
si se usa el estilo normal para mostrar las propiedades modificadas.
Comentarios
CMFCPropertyGridCtrl::IsShowDragContext
Indica si el marco vuelve a dibujar las columnas de nombre y de valor del control de la cuadrícula de propiedades actual cuando un usuario cambia el tamaño de las columnas.
BOOL IsShowDragContext() const;
Valor devuelto
TRUE
si el marco vuelve a dibujar las columnas de nombre y valor durante una operación de cambio de tamaño; FALSE
si el marco vuelve a dibujar las columnas una vez completada la operación de arrastre.
Comentarios
El usuario puede cambiar el tamaño de las columnas de nombre y valor de un control de cuadrícula de propiedades arrastrando la barra de división que se encuentra entre las columnas. Si se muestra el contexto de arrastre, se cambia el tamaño de las columnas de nombre y valor siempre que el usuario arrastre la barra dividida. De lo contrario, la barra de división se mueve, pero las columnas no se dibujan de nuevo hasta que se completa la operación de arrastre.
CMFCPropertyGridCtrl::IsVSDotNetLook
Indica si la apariencia del control de cuadrícula de propiedades tiene el estilo de Visual Studio .NET.
BOOL IsVSDotNetLook() const;
Valor devuelto
TRUE
si el control de la cuadrícula de propiedades tiene el estilo de Visual Studio .NET; de lo contrario, FALSE
.
Comentarios
Use el método CMFCPropertyGridCtrl::SetVSDotNetLook
para establecer el control de la cuadrícula de propiedades en el estilo de Visual Studio .NET.
CMFCPropertyGridCtrl::MarkModifiedProperties
Especifica cómo mostrar las propiedades modificadas.
void MarkModifiedProperties(
BOOL bMark=TRUE,
BOOL bRedraw=TRUE);
Parámetros
bMark
[in] TRUE
para mostrar las propiedades modificadas en negrita; FALSE
para mostrar las propiedades modificadas en estilo normal. El valor predeterminado es TRUE
.
bRedraw
[in] TRUE
para volver a dibujar el control de la cuadrícula de propiedades inmediatamente; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Comentarios
CMFCPropertyGridCtrl::OnChangeSelection
Lo llama el marco de trabajo cuando se cambia la selección actual.
virtual void OnChangeSelection(
CMFCPropertyGridProperty* pNewSel,
CMFCPropertyGridProperty* pOldSel);
Parámetros
pNewSel
[in] Puntero a la propiedad recién seleccionada.
pOldSel
[in] Puntero a la propiedad seleccionada previamente.
Comentarios
La implementación predeterminada de este método no hace nada.
CMFCPropertyGridCtrl::OnClickButton
Lo llama el marco de trabajo cuando se hace clic en un botón de propiedad.
virtual void OnClickButton(CPoint point);
Parámetros
point
[in] Un punto, en coordenadas de cliente.
Comentarios
De forma predeterminada, este método actualiza el valor de propiedad actual.
CMFCPropertyGridCtrl::OnDrawBorder
Lo llama el marco de trabajo para dibujar un borde alrededor del control de la cuadrícula de propiedades.
virtual void OnDrawBorder(CDC* pDC);
Parámetros
pDC
[in] Puntero a un contexto de dispositivo.
Comentarios
CMFCPropertyGridCtrl::OnDrawDescription
Lo llama el marco de trabajo para dibujar el área de descripción y mostrar el texto de descripción.
virtual void OnDrawDescription(
CDC* pDC,
CRect rect);
Parámetros
pDC
[in] Puntero a un contexto de dispositivo.
rect
[in] Rectángulo que especifica dónde dibujar el área de descripción.
Comentarios
Use el método CMFCPropertyGridCtrl::EnableDescriptionArea
para mostrar el área de descripción.
CMFCPropertyGridCtrl::OnDrawList
Lo llama el marco de trabajo para mostrar la lista de propiedades en el control de la cuadrícula de propiedades.
virtual void OnDrawList(CDC* pDC);
Parámetros
pDC
[in] Puntero a un contexto de dispositivo.
Comentarios
CMFCPropertyGridCtrl::OnDrawProperty
Lo llama el marco de trabajo para mostrar una propiedad.
virtual int OnDrawProperty(
CDC* pDC,
CMFCPropertyGridProperty* pProp) const;
Parámetros
pDC
[in] Puntero a un contexto de dispositivo.
pProp
[in] Puntero a un objeto de propiedad.
Valor devuelto
TRUE
si este método es correcto; en caso contrario, FALSE
.
Comentarios
CMFCPropertyGridCtrl::OnPropertyChanged
Lo llama el marco de trabajo cuando el valor de una propiedad ha cambiado.
virtual void OnPropertyChanged(CMFCPropertyGridProperty* pProp) const;
Parámetros
pProp
[in] Puntero a un objeto de propiedad cuyo valor ha cambiado.
Comentarios
De forma predeterminada, este método envía el mensaje AFX_WM_PROPERTY_CHANGED
al propietario del control de la cuadrícula de propiedades.
CMFCPropertyGridCtrl::OnSelectCombo
Lo llama el marco de trabajo cuando se selecciona una propiedad que contiene un control de cuadro combinado.
void OnSelectCombo();
Comentarios
CMFCPropertyGridCtrl::RemoveAll
Quita todos los objetos de propiedad de un control de cuadrícula de propiedades.
void RemoveAll();
Comentarios
CMFCPropertyGridCtrl::ResetOriginalValues
Restaura los valores originales de todas las propiedades.
void ResetOriginalValues(BOOL bRedraw=TRUE);
Parámetros
bRedraw
[in] TRUE
para volver a dibujar la lista de propiedades; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Comentarios
CMFCPropertyGridCtrl::SetAlphabeticMode
Establece o restablece el modo alfabético.
void SetAlphabeticMode(BOOL bSet=TRUE);
Parámetros
bSet
[in] TRUE
para establecer el modo alfabético; FALSE
para restablecer el modo alfabético. El valor predeterminado es TRUE
.
Comentarios
Cuando el control de la cuadrícula de propiedades está en modo alfabético, el control ordena todas las propiedades que contiene por su nombre de propiedad.
CMFCPropertyGridCtrl::SetBoolLabels
Especifica el texto de las etiquetas booleanas.
void SetBoolLabels(
LPCTSTR lpszTrue,
LPCTSTR lpszFalse);
Parámetros
lpszTrue
[in] Cadena de texto que se mostrará para el valor booleano de true.
lpszFalse
[in] Cadena de texto que se mostrará para el valor booleano de false.
Comentarios
CMFCPropertyGridCtrl::SetCurSel
Selecciona una propiedad en un control de cuadrícula de propiedades.
void SetCurSel(
CMFCPropertyGridProperty* pProp,
BOOL bRedraw=TRUE);
Parámetros
pProp
[in] Puntero a un objeto de propiedad.
bRedraw
[in] TRUE
para volver a dibujar el control de la cuadrícula de propiedades inmediatamente; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Comentarios
Use este método para cancelar la selección del elemento actual en el control de cuadrícula de propiedades y, a continuación, seleccione el elemento que corresponde a la propiedad especificada.
CMFCPropertyGridCtrl::SetCustomColors
Especifica los colores personalizados para varios elementos del control de la cuadrícula de propiedades.
void SetCustomColors(
COLORREF clrBackground,
COLORREF clrText,
COLORREF clrGroupBackground,
COLORREF clrGroupText,
COLORREF clrDescriptionBackground,
COLORREF clrDescriptionText,
COLORREF clrLine);
Parámetros
clrBackground
[in] Color de fondo de los valores de propiedad.
clrText
[in] Color de los nombres de propiedad y texto del valor de propiedad.
clrGroupBackground
[in] Color de fondo de un grupo de propiedades.
clrGroupText
[in] Nuevo color de texto del grupo de propiedades.
clrDescriptionBackground
[in] Color de fondo del área de descripción.
clrDescriptionText
[in] Color del texto en el área de descripción.
clrLine
[in] Color de las líneas que se dibujan entre las propiedades.
Comentarios
Para cualquier parámetro, especifique el valor de color ((COLORREF)-1)
para usar el color predeterminado para ese elemento del control de la cuadrícula de propiedades.
Para personalizar la apariencia de una propiedad específica, derive una clase de la clase CMFCPropertyGridProperty
y, a continuación, invalide los métodos CMFCPropertyGridProperty::OnDrawName
, CMFCPropertyGridProperty::OnDrawValue
, CMFCPropertyGridProperty::OnDrawExpandBox
y CMFCPropertyGridProperty::OnDrawButton
.
CMFCPropertyGridCtrl::SetDescriptionRows
Especifica el número de filas que se mostrarán en la sección de descripción del control de la cuadrícula de propiedades actual.
void SetDescriptionRows(int nDescRows);
Parámetros
nDescRows
[in] Número de filas que se mostrarán en la descripción de la propiedad.
CMFCPropertyGridCtrl::SetGroupNameFullWidth
Especifica si se debe mostrar el ancho completo del nombre de categoría para un grupo de propiedades en el control de la cuadrícula de propiedades actual.
void SetGroupNameFullWidth(
BOOL bGroupNameFullWidth = TRUE,
BOOL bRedraw = TRUE);
Parámetros
bGroupNameFullWidth
[in] TRUE
para mostrar el ancho completo del nombre de categoría independientemente del ancho de la columna de nombre de propiedad. FALSE
para limitar el ancho del nombre de categoría al ancho de la columna de nombre de propiedad. El valor predeterminado es TRUE
.
bRedraw
[in] TRUE
para actualizar el control de la cuadrícula de propiedades inmediatamente; FALSE
para actualizar el control cuando se produzca el siguiente evento de volver a dibujar. El valor predeterminado es TRUE
.
Comentarios
El control de la cuadrícula de propiedades consta de una columna de tamaño ajustable de nombre de propiedad y una columna de valor de propiedad. El final de la columna de nombre también es el inicio de la columna de valor. Para cambiar el tamaño de las columnas, arrastre el borde entre las columnas.
Los términos nombre de grupo y nombre de categoría se usan indistintamente en este método. El nombre de categoría se muestra en una fila que dirige un conjunto de propiedades y valores relacionados. Este método especifica si el ancho de la columna de nombre de propiedad también especifica el ancho del nombre de categoría mostrado.
CMFCPropertyGridCtrl::SetListDelimiter
Define un carácter que se usa como delimitador en una lista de valores de propiedad.
void SetListDelimiter(TCHAR c);
Parámetros
c
[in] Carácter que sirve como delimitador.
Comentarios
Use este método para definir un carácter delimitador en una lista de valores de propiedad que se usan en el constructor CMFCPropertyGridProperty::CMFCPropertyGridProperty
. En ese constructor, establezca el parámetro bIsValueList
en TRUE
.
De forma predeterminada, el constructor CMFCPropertyGridCtrl::CMFCPropertyGridCtrl
establece el carácter delimitador en coma (“,”).
CMFCPropertyGridCtrl::SetShowDragContext
Especifica si el marco vuelve a dibujar las columnas de nombre y valor del control de la cuadrícula de propiedades actual cuando un usuario cambia el tamaño de las columnas.
void SetShowDragContext(BOOL bShowDragContext = TRUE);
Parámetros
bShowDragContext
[in] TRUE
para volver a dibujar las columnas de nombre y valor durante una operación de cambio de tamaño; FALSE
para volver a dibujar las columnas una vez completada la operación de arrastre. El valor predeterminado es TRUE
.
Comentarios
El usuario puede cambiar el tamaño de las columnas de nombre y valor de un control de cuadrícula de propiedades arrastrando la barra de división que se encuentra entre las columnas. Si se muestra el contexto de arrastre, se cambia el tamaño de las columnas de nombre y valor siempre que el usuario arrastre la barra dividida. De lo contrario, la barra de división se mueve, pero las columnas no se dibujan de nuevo hasta que se completa la operación de arrastre.
CMFCPropertyGridCtrl::SetVSDotNetLook
Establece la apariencia del control de cuadrícula de propiedades en el estilo que se usa en Visual Studio .NET.
void SetVSDotNetLook(BOOL bSet=TRUE);
Parámetros
bSet
[in] TRUE
para establecer el control de la cuadrícula de propiedades en el estilo que se usa en Visual Studio .NET; de lo contrario, FALSE
. El valor predeterminado es TRUE
.
Comentarios
CMFCPropertyGridCtrl::UpdateColor
Establece el valor de color de la propiedad de color seleccionada actualmente.
virtual void UpdateColor(COLORREF color);
Parámetros
color
[in] Valor de color RGB.
Comentarios
Este método declara en modo de depuración si la propiedad del control de la cuadrícula de propiedades seleccionada actualmente no es una propiedad de color.
CMFCPropertyGridCtrl::ValidateItemData
Lo llama el marco de trabajo para validar los datos de propiedad.
virtual BOOL ValidateItemData(CMFCPropertyGridProperty* pProp);
Parámetros
pProp
[in] Puntero a una propiedad. Este parámetro no se usa.
Valor devuelto
Siempre TRUE
.
Comentarios
El método CMFCPropertyGridCtrl::EndEditItem
llama a este método para validar los datos. De forma predeterminada, este método no usa su parámetro pProp
y su valor devuelto siempre es TRUE
.
Si invalida este método, devuelve TRUE
si los datos de propiedad especificados son válidos. De lo contrario, devuelve FALSE
, en cuyo caso el marco de trabajo no actualiza la propiedad.