listctrl.h

Clase wxListCtrl

Un control de lista presenta listas en varios formatos: vista de lista, vista de informe, vista de iconos y vista de iconos pequeños.

Jerarquía:

Jerarquía de la clase wxListCtrl

En cualquier caso, los elementos se numeran a partir de cero. Para todos estos modos, los elementos se almacenan en el control y deben añadirse a él mediante el método wxListCtrl::InsertItem.

Un caso especial de vista de informe bastante diferente de los otros modos del control de lista es un control virtual en el que los datos de los elementos (incluyendo texto, imágenes y atributos) son gestionados por el programa principal y son solicitados por el propio control sólo cuando es necesario lo que permite tener controles con millones de elementos sin consumir mucha memoria. Para utilizar el control de lista virtual se debe utilizar primero wxListCtrl::SetItemCount y anular al menos wxListCtrl::OnGetItemText (y opcionalmente wxListCtrl::OnGetItemImage o wxListCtrl::OnGetItemColumnImage y wxListCtrl::OnGetItemAttr) para devolver la información sobre los elementos cuando el control lo solicite.

El control de lista virtual se puede utilizar como uno normal, excepto que no se realizan operaciones que puedan tardar un tiempo proporcional al número de elementos del control - esto es necesario para permitir tener un número prácticamente infinito de elementos. Por ejemplo, en un control de lista virtual de selección múltiple, las selecciones no se enviarán cuando se seleccionen muchos elementos a la vez porque esto podría significar iterar sobre todos los elementos.

El uso de muchas de las características de wxListCtrl se muestra en el ejemplo correspondiente.

Para interceptar eventos de un control de lista, se utilizan las macros de tabla de eventos descritas en wxListEvent.

Nota: La implementación nativa de wxOSX para el modo informe que se añadió en wxWidgets 2.8 se eliminó en wxWidgets 3.1, lo que significa que para wxWidgets 3.1+ wxOSX utiliza la implementación genérica para todos los modos.

Ordenación de columnas

Por defecto, las columnas de un control de lista aparecen en la pantalla en el orden de sus índices, es decir, la columna 0 aparece primero, luego la columna 1, y así sucesivamente. Sin embargo, esto puede cambiarse utilizando la función SetColumnsOrder() para reordenar arbitrariamente el orden visual de las columnas.

El usuario también puede reordenar las columnas interactivamente arrastrándolas. En este caso, el índice de la columna no es el mismo que su orden y deben utilizarse las funciones GetColumnOrder() y GetColumnIndexFromOrder() para pasar de uno a otro.

Nota: Todas las demás funciones siguen trabajando con los índices de las columnas, es decir, el posicionamiento visual de las columnas en pantalla no afecta al código que establece u obtiene sus valores, por ejemplo.

Ejemplo de reordenación de columnas:

wxListCtrl *list = new wxListCtrl(...);
for ( int i = 0; i < 3; i++ )
    list->InsertColumn(i, wxString::Format("Column %d", i));
 
wxArrayInt order(3);
order[0] = 2;
order[1] = 0;
order[2] = 1;
list->SetColumnsOrder(order);
 
// now list->GetColumnsOrder() will return order and
// list->GetColumnIndexFromOrder(n) will return order[n] and
// list->GetColumnOrder() will return 1, 2 and 0 for the column 0,
// 1 and 2 respectively

Estilos

Esta clase soporta los siguientes estilos:

wxLC_LIST
Vista de lista multicolumna, con iconos pequeños opcionales. Las columnas se calculan automáticamente, es decir, no se establecen columnas como en wxLC_REPORT. En otras palabras, la lista se rellena, a diferencia de wxListBox.
wxLC_REPORT
Vista de informe de una o varias columnas, con cabecera opcional.
wxLC_VIRTUAL
La aplicación proporciona el texto de los elementos bajo demanda. Sólo puede utilizarse con wxLC_REPORT.
wxLC_ICON
Vista de iconos grandes, con etiquetas opcionales.
wxLC_SMALL_ICON
Vista de iconos pequeños, con etiquetas opcionales.
wxLC_ALIGN_TOP
Los iconos se alinean en la parte superior. Win32 por defecto, sólo Win32.
wxLC_ALIGN_LEFT
Los iconos se alinean a la izquierda.
wxLC_AUTOARRANGE
Los iconos se ordenan solos. Sólo Win32.
wxLC_EDIT_LABELS
Las etiquetas son editables: la aplicación recibirá una notificación cuando comience la edición.
wxLC_NO_HEADER
No hay cabecera en modo informe.
wxLC_SINGLE_SEL
Selección única (por defecto es múltiple).
wxLC_SORT_ASCENDING
Ordena en orden ascendente. (Se debe seguir proporcionando una llamada de retorno de comparación en wxListCtrl::SortItems).
wxLC_SORT_DESCENDING
Ordena en orden descendente. (Se debe seguir proporcionando una llamada de retorno de comparación en wxListCtrl::SortItems).
wxLC_HRULES
Dibuja reglas horizontales claras entre las filas en el modo informe.
wxLC_VRULES
Dibuja reglas verticales claras entre columnas en el modo informe.

Eventos emitidos por esta clase

Las siguientes macros manejadoras de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:

void handlerFuncName(wxListEvent& event)

Macros para eventos emitidos por esta clase:

EVT_LIST_BEGIN_DRAG(id, func)
Comienza a arrastrar con el botón izquierdo del ratón. Procesa un evento de tipo wxEVT_LIST_BEGIN_DRAG.
EVT_LIST_BEGIN_RDRAG(id, func)
Comienza a arrastrar con el botón derecho del ratón. Procesa un evento de tipo wxEVT_LIST_BEGIN_RDRAG.
EVT_LIST_BEGIN_LABEL_EDIT(id, func)
Comienza la edición de una etiqueta. Esto puede evitarse llamando a Veto(). Procesa un evento de tipo wxEVT_LIST_BEGIN_LABEL_EDIT.
EVT_LIST_END_LABEL_EDIT(id, func)
Finaliza la edición de una etiqueta. Esto puede evitarse llamando a Veto(). Procesa un evento de tipo wxEVT_LIST_END_LABEL_EDIT.
EVT_LIST_DELETE_ITEM(id, func)
Se ha eliminado un elemento. Procesa un evento de tipo wxEVT_LIST_DELETE_ITEM.
EVT_LIST_DELETE_ALL_ITEMS(id, func)
Se han eliminado todos los elementos. Procesa un evento de tipo wxEVT_LIST_DELETE_ALL_ITEMS.
EVT_LIST_ITEM_SELECTED(id, func)
El elemento ha sido seleccionado. Hay que tener en cuenta que el ratón es capturado por el propio control cuando se genera este evento, ver la descripción general del manejo de eventos. Procesa un evento de tipo wxEVT_LIST_ITEM_SELECTED.
EVT_LIST_ITEM_DESELECTED(id, func)
El elemento ha sido deseleccionado. Procesa un evento de tipo wxEVT_LIST_ITEM_DESELECTED.
EVT_LIST_ITEM_ACTIVATED(id, func)
El ítem ha sido activado (ENTER o doble click). Procesa un evento de tipo wxEVT_LIST_ITEM_ACTIVATED.
EVT_LIST_ITEM_FOCUSED(id, func)
El ítem actualmente enfocado ha cambiado. Procesa un evento de tipo wxEVT_LIST_ITEM_FOCUSED.
EVT_LIST_ITEM_MIDDLE_CLICK(id, func)
Se ha pulsado el botón central del ratón sobre un elemento. Esto sólo es soportado por el control genérico. Procesa un evento de tipo wxEVT_LIST_ITEM_MIDDLE_CLICK.
EVT_LIST_ITEM_RIGHT_CLICK(id, func)
Se ha pulsado el botón derecho del ratón sobre un elemento. Procesa un evento de tipo wxEVT_LIST_ITEM_RIGHT_CLICK.
EVT_LIST_KEY_DOWN(id, func)
Se ha pulsado una tecla. Procesa un evento de tipo wxEVT_LIST_KEY_DOWN.
EVT_LIST_INSERT_ITEM(id, func)
Se ha insertado un elemento. Procesa un evento de tipo wxEVT_LIST_INSERT_ITEM.
EVT_LIST_COL_CLICK(id, func)
Se ha hecho clic con el botón izquierdo del ratón sobre una columna (m_col). Procesa un evento de tipo wxEVT_LIST_COL_CLICK.
EVT_LIST_COL_RIGHT_CLICK(id, func)
Se ha hecho clic con el botón derecho del ratón sobre una columna (m_col). Procesa un evento de tipo wxEVT_LIST_COL_RIGHT_CLICK.
EVT_LIST_COL_BEGIN_DRAG(id, func)
El usuario comenzó a redimensionar una columna - puede ser vetado. Procesa un evento de tipo wxEVT_LIST_COL_BEGIN_DRAG.
EVT_LIST_COL_DRAGGING(id, func)
El divisor entre columnas está siendo arrastrado. Procesa un evento de tipo wxEVT_LIST_COL_DRAGGING.
EVT_LIST_COL_END_DRAG(id, func)
El usuario ha cambiado el tamaño de una columna. Procesa un evento de tipo wxEVT_LIST_COL_END_DRAG.
EVT_LIST_CACHE_HINT(id, func)
Prepara la caché para un control de lista virtual. Procesa un evento de tipo wxEVT_LIST_CACHE_HINT.
EVT_LIST_ITEM_CHECKED(id, func)
El elemento ha sido comprobado. Procesa un evento de tipo wxEVT_LIST_ITEM_CHECKED (nuevo desde wxWidgets 3.1.0).
EVT_LIST_ITEM_UNCHECKED(id, func)
El elemento ha sido desmarcado. Procesa un evento de tipo wxEVT_LIST_ITEM_UNCHECKED (nuevo desde wxWidgets 3.1.0).

Nota: Bajo wxMSW este control utiliza wxSystemThemedControl para una apariencia estilo explorador por defecto desde wxWidgets 3.1.0. Si no se desea, se puede llamar a wxSystemThemedControl::EnableSystemTheme con argumento false para desactivarlo.

Funciones miembro

wxListCtrl()

wxListCtrl::wxListCtrl()

Constructor por defecto.

wxListCtrl()

wxListCtrl::wxListCtrl( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxLC_ICON, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxListCtrlNameStr )

Constructor, crea y muestra un control de lista.

Parámetros
parent
Ventana padre. No debe ser nullptr.
id
Identificador de la ventana. El valor wxID_ANY indica un valor por defecto.
pos
Posición de la ventana. Si se especifica wxDefaultPosition se elige una posición por defecto.
size
Tamaño de la ventana. Si se especifica wxDefaultSize, el tamaño de la ventana es el adecuado.
style
Estilo de la ventana.
validator
Validador de la ventana.
name
Nombre de la ventana.
~wxListCtrl()

virtual wxListCtrl::~wxListCtrl()

Destructor, destruye el control de lista.

AppendColumn()

long wxListCtrl::AppendColumn( const wxString & heading, wxListColumnFormat format = wxLIST_FORMAT_LEFT, int width = -1 )

Añade una nueva columna al control de lista en el modo de vista de informe.

Esto es sólo una envoltura conveniente para InsertColumn() que añade la nueva columna después de todas las existentes sin tener que especificar su posición explícitamente.

Arrange()

bool wxListCtrl::Arrange(int flag = wxLIST_ALIGN_DEFAULT)

Ordena los elementos en vista de icono o de icono pequeño.

Esto sólo tiene efecto en Win32. flag es uno de:

  • wxLIST_ALIGN_DEFAULT: Alineación por defecto.
  • wxLIST_ALIGN_LEFT: Alinear a la izquierda del control.
  • wxLIST_ALIGN_TOP: Alinear en la parte superior del control.
  • wxLIST_ALIGN_SNAP_TO_GRID: Ajustar a la cuadrícula.
AssignImageList()

void wxListCtrl::AssignImageList( wxImageList * imageList, int which )

Establece la lista de imágenes asociada al control y toma posesión de ella.

No es recomendable utilizar SetNormalImages() o SetSmallImages() en lugar de esta función en el nuevo código.

Después de llamar a esta función el control, a diferencia de cuando se utiliza SetImageList(), borrará la lista cuando se destruya. Que debe ser una de wxIMAGE_LIST_NORMAL, wxIMAGE_LIST_SMALL, wxIMAGE_LIST_STATE (el soporte para la última no está implementado).

CheckItem()

void wxListCtrl::CheckItem( long item, bool check )

Marca o desmarca un wxListItem en un control que utiliza casillas de verificación.

Este método sólo funciona si el soporte de casillas de verificación se ha habilitado correctamente utilizando EnableCheckBoxes().

Para un control con estilo wxLC_VIRTUAL, esto sólo generará los eventos EVT_LIST_ITEM_CHECKED y EVT_LIST_ITEM_UNCHECKED. Ver OnGetItemIsChecked() para información sobre cómo actualizar el estado de la casilla de verificación.

Parámetros
item
Índice del elemento (basado en cero).
check
Si es true, marca el ítem, si no, desmarca.
ClearAll()

void wxListCtrl::ClearAll()

Elimina todos los elementos y todas las columnas.

Nota: Esto envía un evento de tipo wxEVT_LIST_DELETE_ALL_ITEMS en todas las plataformas.

Create()

bool wxListCtrl::Create( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxLC_ICON, const wxValidator & validator = wxDefaultValidator, const wxString & name = wxListCtrlNameStr )

Crea el control de lista.

DeleteAllColumns()

bool wxListCtrl::DeleteAllColumns()

Elimina todas las columnas del control de lista.

Valor de retorno

true si todas las columnas se han eliminado correctamente, false en caso contrario.

DeleteAllItems()

bool wxListCtrl::DeleteAllItems()

Elimina todos los elementos del control de lista.

Esta función no envía el evento wxEVT_LIST_DELETE_ITEM porque borrar muchos elementos del control sería demasiado lento (a diferencia de wxListCtrl::DeleteItem) pero sí envía el evento especial wxEVT_LIST_DELETE_ALL_ITEMS si el control no estaba vacío. Si ya estaba vacío, no se hace nada y no se envía ningún evento.

Valor de retorno

true si los ítems fueron borrados con éxito o si el control ya estaba vacío, false si ocurrió un error al borrar los ítems.

DeleteColumn()

bool wxListCtrl::DeleteColumn(int col)

Borra una columna.

DeleteItem()

bool wxListCtrl::DeleteItem(long item)

Elimina el elemento especificado.

Esta función envía el evento wxEVT_LIST_DELETE_ITEM para el elemento que se está eliminando.

EditLabel()

wxTextCtrl* wxListCtrl::EditLabel( long item, wxClassInfo * textControlClass = wxCLASSINFO(wxTextCtrl) )

Inicia la edición de la etiqueta del elemento dado.

Esta función genera un evento EVT_LIST_BEGIN_LABEL_EDIT que puede ser vetado para que no aparezca ningún control de texto para la edición in situ.

Si el usuario ha cambiado la etiqueta (es decir, si no pulsa ESC o deja el control de texto sin cambios), se enviará un evento EVT_LIST_END_LABEL_EDIT que también se puede vetar.

EnableAlternateRowColours()

void wxListCtrl::EnableAlternateRowColours(bool enable = true)

Habilitar la alternancia de colores de fondo de fila (también llamado zebra striping).

Este método sólo puede invocarse para el control en modo informe virtual, es decir, que tenga los estilos wxLC_REPORT y wxLC_VIRTUAL.

Cuando se activa la alternancia de colores, el color apropiado para las filas pares se elige automáticamente en función de los colores de primer plano y fondo por defecto que se utilizan para las filas impares.

Parámetros
enable
Si es true, activa la alternancia de colores de fondo, es decir, colores diferentes para las filas pares e impares. Si es false, desactiva esta función y utiliza el mismo color de fondo para todas las filas.
EnableBellOnNoMatch()

void wxListCtrl::EnableBellOnNoMatch(bool on = true)

Activa o desactiva un pitido si no hay coincidencia para el texto introducido actualmente al buscar el elemento desde el teclado.

El valor predeterminado es no emitir un pitido en este caso, excepto en wxMSW, donde el pitido siempre es generado por el control nativo y no se puede desactivar, es decir, las llamadas a esta función no hacen nada allí.

EnableCheckBoxes()

bool wxListCtrl::EnableCheckBoxes(bool enable = true)

Activa o desactiva las casillas de verificación de los elementos de la lista.

Parámetros
enable
Si es true, habilita las casillas de verificación; en caso contrario, las deshabilita.
Valor de retorno

true si las casillas de verificación están soportadas, false en caso contrario.

En un control de lista con estilo wxLC_VIRTUAL hay que hacer un seguimiento del estado de las casillas de verificación. Cuando una casilla de verificación es pulsada (EVT_LIST_ITEM_CHECKED o EVT_LIST_ITEM_UNCHECKED) se tiene que actualizar el estado y refrescar el elemento explícitamente.

EndEditLabel()

bool wxListCtrl::EndEditLabel(bool cancel)

Finalizar la edición de la etiqueta.

Este método permite finalizar programáticamente la edición de un elemento de control de lista en el sitio. Normalmente sólo se llamará cuando la edición esté en curso, es decir, si GetEditControl() devuelve un valor distinto de NULL. En particular, no llamarlo desde el manejador EVT_LIST_BEGIN_LABEL_EDIT ya que el control de edición no está completamente creado en ese momento, simplemente vetar el evento en este manejador para evitar que la edición comience.

Hay que tener en cuenta que al llamar a este método se generará el evento EVT_LIST_END_LABEL_EDIT.

Actualmente sólo está implementado en wxMSW.

Parámetros
cancel
Si es true, descarta los cambios realizados por el usuario, como si se hubiera pulsado la tecla Escape. Si no, acepta los cambios como si se hubiera pulsado Return.
Valor de retorno

true si se ha terminado la edición del ítem o false si no se está editando ningún ítem.

EnsureVisible()

bool wxListCtrl::EnsureVisible(long item)

Garantiza la visibilidad de este elemento.

ExtendRulesAndAlternateColour()

void wxListCtrl::ExtendRulesAndAlternateColour(bool extend = true)

Extender las reglas y el fondo de filas alternativas a toda el área de cliente.

Por defecto, las reglas (cuando se habilitan con wxLC_HRULES y wxLC_VRULES) y el fondo alternativo de las filas (cuando se llama a EnableAlternateRowColours()) sólo se muestran en la parte del control ocupada por los ítems, que puede ser menor que toda la ventana si hay pocos ítems en el control.

Llamando a esta función se extiende la visualización de las reglas y filas de fondo alternativas a toda el área del cliente.

De forma similar a EnableAlternateRowColours(), este método sólo puede utilizarse con controles que tengan los estilos wxLC_REPORT y wxLC_VIRTUAL.

Hay que tener en cuenta que este método no está implementado actualmente en la versión nativa MSW y no hace nada allí.

Parámetros
extend
Si es true, dibuja reglas horizontales y reglas verticales en las filas vacías y utiliza el parámetro color para pintar el fondo de las filas alternativas cuando esas filas están en blanco, vacías, sin datos.
FindItem()

long wxListCtrl::FindItem( long start, const wxPoint & pt, int direction )

Encuentra el elemento más cercano a esta posición en la dirección especificada, empezando desde start o desde el inicio si elstart es -1.

Nota: En wxPerl este método se implementa como FindItemAtPos(start, pt, direction).

Valor de retorno

El siguiente elemento coincidente si existe o -1 (wxNOT_FOUND) en caso contrario.

FindItem()

long wxListCtrl::FindItem( long start, const wxString & str, bool partial = false )

Busca un elemento cuya etiqueta coincida con esta cadena, empezando por el start o por el principio si el start es -1.

La comparación de cadenas no distingue entre mayúsculas y minúsculas.

Si partial es verdadero, este método buscará los elementos que empiecen por str.

Valor de retorno

El siguiente elemento coincidente si existe o -1 (wxNOT_FOUND) en caso contrario.

FindItem()

long wxListCtrl::FindItem( long start, wxUIntPtr data )

Encuentra un elemento cuyos datos coincidan con estos datos, empezando por el inicio o por el principio si 'inicio' es -1.

Nota: En wxPerl este método se implementa como FindItemAtPos(start, data).

Valor de retorno

El siguiente elemento coincidente si existe o -1 (wxNOT_FOUND) en caso contrario.

GetAlternateRowColour()

wxColour wxListCtrl::GetAlternateRowColour() const

Obtener el color de fondo de la fila alternativa.

GetColumn()

bool wxListCtrl::GetColumn( int col, wxListItem & item ) const

Obtiene información sobre esta columna.

Ver SetItem() para más información.

Nota: En wxPerl este método sólo toma el parámetro col y devuelve un Wx::ListItem (o undef).

GetColumnCount()

int wxListCtrl::GetColumnCount() const

Devuelve el número de columnas.

El control puede tener múltiples columnas sólo en modo wxLC_REPORT. En modo wxLC_LIST esta función devuelve 1, ya que se considera que una lista tiene una (única) columna. En los modos wxLC_SMALL_ICON y wxLC_ICON, devuelve 0 ya que no hay ninguna columna.

GetColumnIndexFromOrder()

int wxListCtrl::GetColumnIndexFromOrder(int pos) const

Obtiene el índice de la columna a partir de su posición en el orden visual.

Después de llamar a SetColumnsOrder(), el índice devuelto por esta función corresponde al valor del elemento número pos en el array devuelto por GetColumnsOrder().

Nota: Esta función sólo tiene sentido para la vista de informe y actualmente sólo está implementada en el puerto wxMSW. Utilizar wxHAS_LISTCTRL_COLUMN_ORDER para proteger los usos de esta función de forma que empiecen a funcionar en las otras plataformas cuando se añada soporte para la reordenación de columnas en ellas.

GetColumnOrder()

int wxListCtrl::GetColumnOrder(int col) const

Obtiene la posición de orden visual de la columna.

Esta función devuelve el índice de la columna que aparece en la posición visual dada, por ejemplo, llamándola con col igual a 0 devuelve el índice de la primera columna mostrada.

Nota: Esta función sólo tiene sentido para la vista de informe y actualmente sólo está implementada en el puerto wxMSW. Utilice wxHAS_LISTCTRL_COLUMN_ORDER para proteger los usos de esta función de forma que empiecen a funcionar en las otras plataformas cuando se añada soporte para la reordenación de columnas en ellas.

GetColumnsOrder()

wxArrayInt wxListCtrl::GetColumnsOrder() const

Devuelve la matriz que contiene los pedidos de todas las columnas.

En caso de error, se devuelve un array vacío.

Nota: Esta función sólo tiene sentido para la vista de informe y actualmente sólo está implementada en el puerto wxMSW. Utilice wxHAS_LISTCTRL_COLUMN_ORDER para proteger los usos de esta función de forma que empiecen a funcionar en las otras plataformas cuando se añada soporte para la reordenación de columnas en ellas.

GetColumnWidth()

int wxListCtrl::GetColumnWidth(int col) const

Obtiene el ancho de la columna (sólo vista de informe).

GetCountPerPage()

int wxListCtrl::GetCountPerPage() const

Obtiene el número de elementos que caben verticalmente en el área visible del control de lista (vista lista o informe) o el número total de elementos del control de lista (vista icono o icono pequeño).

GetEditControl()

wxTextCtrl* wxListCtrl::GetEditControl() const

Devuelve el control de edición que se está utilizando para editar una etiqueta.

Devuelve NULL si no se está editando ninguna etiqueta.

Nota: Actualmente sólo está implementado para wxMSW y la versión genérica, no para la versión nativa de macOS.

GetImageList()

wxImageList* wxListCtrl::GetImageList(int which) const

Devuelve la lista de imágenes especificada, que puede ser una de las siguientes:

  • wxIMAGE_LIST_NORMAL: La lista de imágenes normales (iconos grandes).
  • wxIMAGE_LIST_SMALL: La lista de imágenes de iconos pequeños.
  • wxIMAGE_LIST_STATE: La lista de imágenes de estado definida por el usuario (no implementada).
GetItem()

bool wxListCtrl::GetItem(wxListItem & info) const

Obtiene información sobre el elemento.

Ver SetItem() para más información.

Se debe llamar a info.SetId() para establecer el ID del elemento que le interesa antes de llamar a este método, y a info.SetMask() con las banderas que indican qué campos necesita recuperar de info.

Nota: En wxPerl este método toma como parámetro el ID del ítem y (opcionalmente) la columna, y devuelve un objeto Wx::ListItem.

GetItemBackgroundColour()

wxColour wxListCtrl::GetItemBackgroundColour(long item) const

Devuelve el color de este elemento.

Si el elemento no tiene un color específico, devuelve un color no válido (y no el color de fondo por defecto del propio control).

GetItemCount()

int wxListCtrl::GetItemCount() const

Devuelve el número de elementos del control de lista.

GetItemData()

wxUIntPtr wxListCtrl::GetItemData(long item) const

Obtiene los datos definidos por la aplicación asociados a este elemento.

GetItemFont()

wxFont wxListCtrl::GetItemFont(long item) const

Devuelve la fuente del elemento.

GetItemPosition()

bool wxListCtrl::GetItemPosition( long item, wxPoint & pos ) const

Devuelve la posición del elemento, en la vista de icono o icono pequeño.

Nota: En wxPerl este método sólo toma el parámetro item y devuelve un Wx::Point (o undef).

GetItemRect()

bool wxListCtrl::GetItemRect( long item, wxRect & rect, int code = wxLIST_RECT_BOUNDS ) const

Devuelve el rectángulo que representa el tamaño y la posición del elemento, en coordenadas físicas.

code es uno de wxLIST_RECT_BOUNDS, wxLIST_RECT_ICON, wxLIST_RECT_LABEL.

Nota: En wxPerl este método sólo toma los parámetros item y code y devuelve un Wx::Rect (o undef).

GetItemSpacing()

wxSize wxListCtrl::GetItemSpacing() const

Recupera el espaciado entre iconos en píxeles: el espaciado horizontal se devuelve como componente x del objeto wxSize y el vertical como su componente y.

GetItemState()

int wxListCtrl::GetItemState( long item, long stateMask ) const

Obtiene el estado del elemento.

Para ver una lista de indicadores de estado, consultar SetItem(). La máscara stateMask indica qué banderas de estado son de interés.

GetItemText()

wxString wxListCtrl::GetItemText( long item, int col = 0 ) const

Obtiene el texto de este elemento.

Parámetros
item
Índice del ítem (basado en cero).
col
Índice de columna del elemento (basado en cero). La columna 0 es la predeterminada. Este parámetro es nuevo en wxWidgets 2.9.1.
GetItemTextColour()

wxColour wxListCtrl::GetItemTextColour(long item) const

Devuelve el color de este elemento.

Si el elemento no tiene un color específico, devuelve un color no válido (y no el color de primer plano por defecto del propio control, ya que esto no permitiría distinguir entre los elementos que tienen el mismo color que el primer plano actual del control y los elementos con color por defecto que, por lo tanto, tienen siempre el mismo color que el control).

GetNextItem()

long wxListCtrl::GetNextItem( long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE ) const

Busca un elemento con la geometría o el estado dados, empezando por el elemento pero excluyendo el propio elemento.

Si elemento es -1, se devolverá el primer elemento que coincida con las banderas especificadas. Devuelve el primer elemento con el estado dado después de elemento o -1 si no se encuentra tal elemento. Esta función se puede utilizar para encontrar todos los elementos seleccionados en el control de esta forma:

long item = -1;
for ( ;; )
{
    item = listctrl->GetNextItem(item,
                                wxLIST_NEXT_ALL,
                                wxLIST_STATE_SELECTED);
    if ( item == -1 )
        break;
 
    // this item is selected - do whatever is needed with it
    wxLogMessage("Item %ld is selected.", item);
}

geometrypuede ser una de las siguientes:

  • wxLIST_NEXT_ABOVE: Busca un elemento por encima del especificado.
  • wxLIST_NEXT_ALL: Busca el elemento siguiente por índice.
  • wxLIST_NEXT_BELOW: Busca un elemento por debajo del especificado.
  • wxLIST_NEXT_LEFT: Busca un ítem a la izquierda del ítem especificado.
  • wxLIST_NEXT_RIGHT: Busca un elemento a la derecha del especificado.

Nota: este parámetro sólo está soportado actualmente por wxMSW y se ignora en otras plataformas.

state puede ser una lista de bits de las siguientes:

  • wxLIST_STATE_DONTCARE: No importa cual es el estado.
  • wxLIST_STATE_DROPHILITED: El elemento indica que es un objetivo de drop.
  • wxLIST_STATE_FOCUSED: El ítem tiene el foco.
  • wxLIST_STATE_SELECTED: El ítem está seleccionado.
  • wxLIST_STATE_CUT: El ítem está seleccionado como parte de una operación de cortar y pegar.
GetSelectedItemCount()

int wxListCtrl::GetSelectedItemCount() const

Devuelve el número de elementos seleccionados en el control de lista.

GetSortIndicator()

int wxListCtrl::GetSortIndicator() const

Devuelve la columna que muestra el indicador de ordenación.

Puede devolver -1 si no se muestra ningún indicador de ordenación.

GetSubItemRect()

bool wxListCtrl::GetSubItemRect( long item, long subItem, wxRect & rect, int code = wxLIST_RECT_BOUNDS ) const

Devuelve el rectángulo que representa el tamaño y la posición, en coordenadas físicas, del subelemento dado, es decir la parte del elemento de la fila en el subelemento de la columna.

Este método sólo tiene sentido cuando la wxListCtrl está en modo informe. Si el parámetro subItem es igual al valor especial wxLIST_GETSUBITEMRECT_WHOLEITEM el valor de retorno es el mismo que para GetItemRect().

code puede ser uno de wxLIST_RECT_BOUNDS, wxLIST_RECT_ICON o wxLIST_RECT_LABEL.

Hay que tener en cuenta que utilizar wxLIST_RECT_ICON con cualquier subelemento excepto el primero no es muy útil ya que sólo el primer subelemento puede tener un icono en wxListCtrl. En este caso, es decir, para subItem > 0, esta función simplemente devuelve un rectángulo vacío en rect.

GetTextColour()

wxColour wxListCtrl::GetTextColour() const

Obtiene el color del texto del control de lista.

GetTopItem()

long wxListCtrl::GetTopItem() const

Obtiene el índice del elemento visible más alto en la vista de lista o de informe.

GetUpdatedAscendingSortIndicator()

bool wxListCtrl::GetUpdatedAscendingSortIndicator(int col) const

Devuelve el nuevo valor a utilizar para el indicador de ordenación después de hacer clic en una columna.

Esta función de ayuda puede ser útil en el manejador EVT_LIST_COL_CLICK cuando actualiza el indicador de ordenación después de que el usuario haga clic en una columna.

Por ejemplo:

void MyListCtrl::OnColClick(wxListEvent& event)
{
    int col = event.GetColumn();
    if ( col == -1 )
        return; // clicked outside any column.
 
    const bool ascending = GetUpdatedAscendingSortIndicator(col);
    SortItems(MyCompareFunction, ascending);
    ShowSortIndicator(col, ascending);
}
GetViewRect()

wxRect wxListCtrl::GetViewRect() const

Devuelve el rectángulo que ocupan todos los elementos del control.

En otras palabras, si el tamaño del cliente del control fuera igual al tamaño de este rectángulo, no se necesitarían barras de desplazamiento y no quedaría espacio libre.

Hay que tener en cuenta que esta función sólo funciona en las vistas de iconos e iconos pequeños, no en las vistas de listas o informes (se trata de una limitación del control nativo Win32).

HasCheckBoxes()

bool wxListCtrl::HasCheckBoxes() const

Devuelve true si las casillas de verificación están habilitadas para los elementos de la lista.

HitTest()

long wxListCtrl::HitTest( const wxPoint & point, int & flags, long * ptrSubItem = NULL ) const

Determina qué elemento (si lo hay) se encuentra en el punto especificado, proporcionando detalles en banderas.

Devuelve el índice del elemento o wxNOT_FOUND si no hay ningún elemento en el punto especificado.

flags será una combinación de las siguientes flags:

  • wxLIST_HITTEST_ABOVE: Por encima del área cliente del control.
  • wxLIST_HITTEST_BELOW: Debajo del área de cliente del control.
  • wxLIST_HITTEST_TOLEFT: A la izquierda del área de cliente del control.
  • wxLIST_HITTEST_TORIGHT: A la derecha del área de cliente del control.
  • wxLIST_HITTEST_NOWHERE: Dentro del área de cliente del control pero no sobre un elemento.
  • wxLIST_HITTEST_ONITEMICON: Sobre el icono de un ítem.
  • wxLIST_HITTEST_ONITEMLABEL: Sobre el texto de un ítem.
  • wxLIST_HITTEST_ONITEMSTATEICON: Sobre el checkbox de un ítem.
  • wxLIST_HITTEST_ONITEM: Combinación de wxLIST_HITTEST_ONITEMICON, wxLIST_HITTEST_ONITEMLABEL, wxLIST_HITTEST_ONITEMSTATEICON.

Si ptrSubItem no es NULL y la wxListCtrl está en modo informe también se proporcionará el número de subelemento (o columna). Esta característica sólo está disponible en la versión 2.7.0 o superior y actualmente sólo se implementa bajo wxMSW y requiere al menos comctl32.dll de la versión 4.70 en el sistema anfitrión o el valor almacenado en ptrSubItem será siempre -1. Para compilar esta característica en la librería wxWidgets es necesario tener acceso a commctrl.h de la versión 4.70 que proporciona Microsoft.

Nota: En wxPerl este método sólo toma el parámetro point y devuelve una lista de 2 elementos (item, flags).

InReportView()

bool wxListCtrl::InReportView() const

Devuelve true si el control está utilizando actualmente el estilo wxLC_REPORT.

InsertColumn()

long wxListCtrl::InsertColumn( long col, const wxListItem & info )

Para el modo de vista de informe (únicamente), inserta una columna.

Para más detalles, ver SetItem(). Ver también la sobrecarga InsertColumn(long, const wxString&, int, int) para una alternativa generalmente más conveniente a este método y la descripción de cómo el ancho del elemento es interpretado por este método.

InsertColumn()

long wxListCtrl::InsertColumn( long col, const wxString & heading, int format = wxLIST_FORMAT_LEFT, int width = wxLIST_AUTOSIZE )

Para el modo de vista de informe (únicamente), inserta una columna.

Inserta una nueva columna en el control de lista en modo vista informe en la posición dada especificando sus atributos más comunes.

Hay que tener en cuenta que para definir la imagen de la columna se debe utilizar la sobrecarga InsertColumn(long, const wxListItem&) y especificar wxLIST_MASK_IMAGE en la máscara del elemento.

Parámetros
col
El índice donde debe insertarse la columna. Los índices válidos van desde 0 hasta GetColumnCount() inclusive y este último puede utilizarse para añadir la nueva columna después de la última existente.
heading
La cadena que especifica el encabezamiento de la columna.
format
Las banderas que especifican la alineación del texto del encabezamiento de control.
width
Si es positivo, el ancho de la columna en píxeles. Si no, puede ser wxLIST_AUTOSIZE para elegir el tamaño por defecto para la columna o wxLIST_AUTOSIZE_USEHEADER para ajustar el ancho de la columna al encabezado o extender para llenar todo el espacio restante para la última columna. Hay que tener en cuenta que en el caso de wxLIST_AUTOSIZE se utiliza el ancho fijo ya que todavía no hay elementos en esta columna para determinar su mejor tamaño. Si se desea ajustar la columna a su contenido, utilizar SetColumnWidth() después de añadir los elementos con valores en esta columna.
Valor de retorno

El índice de la columna insertada o -1 si la adición falló.

InsertItem()

long wxListCtrl::InsertItem( long index, const wxString & label )

Inserta un elemento de cadena.

Parámetros
index
Índice del nuevo elemento, suministrado por la aplicación.
label
Etiqueta de cadena

Nota: En wxPerl este método se implementa como InsertStringItem(index, label).

InsertItem()

long wxListCtrl::InsertItem( long index, const wxString & label, int imageIndex )

Inserta un elemento de imagen/cadena.

Parámetros
index
Índice del nuevo elemento, suministrado por la aplicación.
label
Etiqueta de cadena.
imageIndex
Índice en la lista de imágenes asociada a este control y estilo de vista.

Nota: En wxPerl este método se implementa como InsertImageStringItem(index, label, imageIndex).

InsertItem()

long wxListCtrl::InsertItem( long index, int imageIndex )

Inserta un elemento de imagen.

Parámetros
index
Índice del nuevo elemento, suministrado por la aplicación.
imageIndex
Índice en la lista de imágenes asociada a este control y estilo de vista.

Nota: En wxPerl este método se implementa como InsertImageItem(index, imageIndex).

InsertItem()

long wxListCtrl::InsertItem(wxListItem & info)

Inserta un elemento, devolviendo el índice del nuevo elemento si tiene éxito, -1 en caso contrario.

Parámetros
info
Objeto wxListItem
IsAscendingSortIndicator()

bool wxListCtrl::IsAscendingSortIndicator() const

Devuelve true si la dirección del indicador de ordenación es ascendente, false cuando la dirección es descendente.

IsEmpty()

bool wxListCtrl::IsEmpty() const

Devuelve true si el control no contiene actualmente ningún elemento.

Hay que tener en cuenta que el control con algunas columnas se sigue considerando vacío si no tiene filas.

IsItemChecked()

bool wxListCtrl::IsItemChecked(long item) const

Devuelve true si la casilla de verificación del wxListItem dado está marcada.

Siempre devuelve false si no se ha habilitado el soporte para casillas de verificación.

Para un control con estilo wxLC_VIRTUAL, esto utiliza OnGetItemIsChecked().

Parámetros
item
Índice del ítem (basado en cero).
IsVirtual()

bool wxListCtrl::IsVirtual() const

Devuelve true si el control está actualmente en la vista de informe virtual.

IsVisible()

bool wxListCtrl::IsVisible(long item) const

Comprueba si el elemento es visible.

Un elemento se considera visible si al menos un píxel del mismo está presente en la pantalla.

OnGetItemAttr()

virtual wxItemAttr* wxListCtrl::OnGetItemAttr(long item) const

Esta función puede ser sobrescrita en la clase derivada para un control con estilo wxLC_VIRTUAL.

Debe devolver el atributo para el elemento especificado o NULL para utilizar los parámetros de apariencia por defecto.

wxListCtrl no borrará el puntero ni mantendrá una referencia del mismo. Se puede devolver el mismo puntero wxItemAttr en cada llamada a OnGetItemAttr().

La versión de la clase base siempre devuelve NULL.

OnGetItemColumnAttr()

virtual wxItemAttr* wxListCtrl::OnGetItemColumnAttr( long item, long column ) const

Esta función puede ser sobrescrita en la clase derivada para un control con estilo wxLC_VIRTUAL.

Debe devolver el atributo para el elemento y columna especificados o NULL para utilizar los parámetros de apariencia por defecto.

La versión de la clase base devuelve OnGetItemAttr(item).

Nota: Actualmente esta función sólo se llama bajo wxMSW, los otros ports sólo soportan OnGetItemAttr().

OnGetItemColumnImage()

virtual int wxListCtrl::OnGetItemColumnImage( long item, long column ) const

Sobreescribe esta función en la clase derivada para un control con estilos wxLC_VIRTUAL y wxLC_REPORT con el fin de especificar el índice de imagen para la línea y columna dadas.

La versión de la clase base siempre llama a OnGetItemImage() para la primera columna, de lo contrario devuelve -1.

OnGetItemImage()

virtual int wxListCtrl::OnGetItemImage(long item) const

Esta función debe ser invocada en la clase derivada para un control con estilo wxLC_VIRTUAL que utilice imágenes.

Si el control no utiliza imágenes, es decir, no se ha llamado a SetNormalImages() o SetSmallImages(), no es necesario sobrescribirla.

Debe devolver el índice de la imagen del elemento en la lista de imágenes del control o -1 si no hay imagen.

En un control con estilo wxLC_REPORT, OnGetItemImage() sólo es llamada para la primera columna de cada línea.

La versión de la clase base siempre devuelve -1.

OnGetItemIsChecked()

virtual bool wxListCtrl::OnGetItemIsChecked(long item) const

Esta función debe ser sobrescrita en la clase derivada para un control con estilo wxLC_VIRTUAL que utilice casillas de verificación.

Debe devolver si la casilla de verificación del elemento especificado está marcada.

OnGetItemText()

virtual wxString wxListCtrl::OnGetItemText( long item, long column ) const

Esta función debe ser sobrescrita en la clase derivada para un control con estilo wxLC_VIRTUAL.

Debe devolver la cadena que contiene el texto de la columna dada para el elemento especificado.

RefreshItem()

void wxListCtrl::RefreshItem(long item)

Redibuja el elemento dado.

Esto sólo es útil para los controles de lista virtuales, ya que sin llamar a esta función el valor mostrado del elemento no cambia aunque cambien los datos subyacentes.

RefreshItems()

void wxListCtrl::RefreshItems( long itemFrom, long itemTo )

Redibuja los elementos entre itemFrom y itemTo.

El elemento inicial debe ser menor o igual que el final.

Al igual que RefreshItem(), sólo es útil para los controles de lista virtuales.

RemoveSortIndicator()

void wxListCtrl::RemoveSortIndicator()

Elimina el indicador de ordenación de la columna utilizada como clave de ordenación.

ScrollList()

bool wxListCtrl::ScrollList( int dx, int dy )

Desplaza el control de lista.

Si está en modo icono, icono pequeño o vista de informe, dx especifica el número de píxeles a desplazar. En el modo de vista de lista, dx especifica el número de columnas que se desplazan. dy siempre especifica el número de píxeles que se desplazan verticalmente.

Nota: Este método sólo está disponible en la versión para Windows.

nombre()

void wxListCtrl::SetAlternateRowColour(const wxColour & colour)

Establece el color de fondo de la fila alternativa a un color específico.

Se recomienda llamar a EnableAlternateRowColours() en lugar de utilizar estos métodos, ya que las implementaciones nativas de este control podrían admitir la alternancia de colores de fila, pero no establecer el color exacto que se utilizará para ellos.

Al igual que EnableAlternateRowColours(), este método sólo puede utilizarse con controles que tengan los estilos wxLC_REPORT y wxLC_VIRTUAL.

Parámetros
color
Un color de fondo de fila alternativo válido para habilitar las filas alternas o inválido para deshabilitarlas y utilizar el mismo color para todas las filas.
SetBackgroundColour()

virtual bool wxListCtrl::SetBackgroundColour(const wxColour & col)

Establece el color de fondo.

Hay que tener en cuenta que la función wxWindow::GetBackgroundColour() de la clase base wxWindow se puede utilizar para recuperar el color de fondo actual.

Nota: Si está activado el color alternativo de las filas, vuelva a llamar a EnableAlternateRowColours() después de cambiar el color de fondo. Esto actualizará el color de la fila alternativa para que coincida con el nuevo color de fondo.

Reimplementado de wxWindow.

SetColumn()

bool wxListCtrl::SetColumn( int col, wxListItem & item )

Establece información sobre esta columna.

Consultar SetItem() para obtener más información.

SetColumnsOrder()

bool wxListCtrl::SetColumnsOrder(const wxArrayInt & orders)

Cambia el orden en que se muestran las columnas.

La matriz de órdenes debe tener el mismo número de elementos que el número de columnas y contener cada posición exactamente una vez. Su n-ésimo elemento contiene el índice de la columna que se mostrará en la n-ésima posición, por lo que para un control con tres columnas pasar un array con los elementos 2, 0 y 1 resulta en que la tercera columna se muestra primero, la primera después y la segunda por último.

Nota: Esta función sólo tiene sentido para la vista de informes y actualmente sólo está implementada en el port wxMSW. Utilizar wxHAS_LISTCTRL_COLUMN_ORDER para proteger los usos de esta función, de forma que empiecen a funcionar en otras plataformas cuando se añada soporte para la reordenación de columnas.

SetColumnWidth()

bool wxListCtrl::SetColumnWidth( int col, int width )

Establece el ancho de la columna.

width puede ser un ancho en pixels o wxLIST_AUTOSIZE (-1) o wxLIST_AUTOSIZE_USEHEADER (-2).

wxLIST_AUTOSIZE redimensionará la columna a la longitud de su elemento más largo.

wxLIST_AUTOSIZE_USEHEADER redimensionará la columna a la longitud de la cabecera (Win32) u 80 píxeles (otras plataformas).

En la vista de iconos pequeños o normales, col debe ser -1, y el ancho de columna se establece para todas las columnas.

SetHeaderAttr()

bool wxListCtrl::SetHeaderAttr(const wxItemAttr & attr)

Cambia el tipo de letra y los colores utilizados para la cabecera del control de lista.

Este método puede utilizarse para cambiar la apariencia de la cabecera mostrada por el control en modo informe (a menos que se utilice el estilo wxLC_NO_HEADER).

Actualmente sólo está implementado para wxMSW y no hace nada en los otros ports.

Parámetros
attr
El objeto que contiene la fuente y los colores de texto y fondo a utilizar. Puede ser por defecto, es decir, no especificar ninguna fuente ni colores personalizados, para restablecer cualquier atributo personalizado previamente establecido.
Devuelve

true si los atributos han sido actualizados o false si esto no es soportado por la plataforma actual.

SetImageList()

void wxListCtrl::SetImageList( wxImageList * imageList, int which )

Establece la lista de imágenes asociada al control.

No es recomendable utilizar SetNormalImages() o SetSmallImages() en lugar de esta función en el nuevo código.

which debe ser uno de wxIMAGE_LIST_NORMAL, wxIMAGE_LIST_SMALL, wxIMAGE_LIST_STATE (el soporte para el último no está implementado).

Este método no toma posesión de la lista de imágenes, hay que borrarla tú explícitamente.

Hay que tener en cuenta que, a diferencia de la mayoría de los otros métodos de esta clase, es posible llamar a esta función antes de que se cree la ventana correspondiente, es decir, hacerlo en un constructor de una clase derivada de wxListCtrl antes de llamar a Create().

SetItem()

bool wxListCtrl::SetItem( long index, int column, const wxString & label, int imageId = -1 )

Establece un campo de cadena de artículo en una columna determinada.

Valor de retorno

true si el ítem fue actualizado con éxito o false si la actualización falló por alguna razón (por ejemplo, un índice de ítem inválido).

SetItem()

bool wxListCtrl::SetItem(wxListItem & info)

Establece los datos de un elemento.

Utilizando mask y state mask de wxListItem, se pueden cambiar sólo los atributos seleccionados de un elemento wxListCtrl.

Valor de retorno

true si el ítem fue actualizado con éxito o false si la actualización falló por alguna razón (por ejemplo, un índice de ítem inválido).

SetItemBackgroundColour()

void wxListCtrl::SetItemBackgroundColour( long item, const wxColour & col )

Establece el color de fondo de este elemento.

Esta función sólo funciona en el modo de visualización de informes. El color se puede recuperar utilizando GetItemBackgroundColour().

SetItemColumnImage()

bool wxListCtrl::SetItemColumnImage( long item, long column, int image )

Establece la imagen asociada al elemento.

En la vista de informe, se puede especificar la columna. La imagen es un índice de la lista de imágenes asociada al control de lista.

SetItemCount()

void wxListCtrl::SetItemCount(long count)

Este método sólo puede utilizarse con controles de lista virtuales.

Se utiliza para indicar al control el número de elementos que contiene. Después de llamarlo, el programa principal debería estar preparado para manejar las llamadas a varias retrollamadas de elementos (como wxListCtrl::OnGetItemText) para todos los elementos en el rango de 0 a count.

Hay que tener en cuenta que el control no se redibuja necesariamente después de esta llamada, ya que puede ser indeseable si un elemento que no es visible en la pantalla de todos modos se añade o se elimina de un control que muestra muchos elementos, si se necesita actualizar la pantalla se puede llamar a Refresh() manualmente.

SetItemData()

bool wxListCtrl::SetItemData( long item, long data )

Asocia datos definidos por la aplicación con este elemento.

Hay que tener en cuenta que esta función no se puede utilizar para asociar punteros con los elementos de control, utilizar SetItemPtrData() en su lugar.

SetItemFont()

void wxListCtrl::SetItemFont( long item, const wxFont & font )

Establece la fuente del elemento.

SetItemImage()

bool wxListCtrl::SetItemImage( long item, int image, int selImage = -1 )

Establece las imágenes no seleccionadas y seleccionadas asociadas al elemento.

Las imágenes son índices en la lista de imágenes asociada al control de lista.

SetItemPosition()

bool wxListCtrl::SetItemPosition( long item, const wxPoint & pos )

Establece la posición del elemento, en vista de icono o de icono pequeño.

Sólo para Windows.

SetItemPtrData()

bool wxListCtrl::SetItemPtrData( long item, wxUIntPtr data )

Asocia datos definidos por la aplicación con este elemento.

El parámetro de datos puede ser un entero o un puntero convertido al tipo wxUIntPtr, cuyo tamaño está garantizado para poder contener todos los tipos de enteros y punteros.

SetItemState()

bool wxListCtrl::SetItemState( long item, long state, long stateMask )

Establece el estado del elemento.

El stateMask es una combinación de constantes wxLIST_STATE_XXX descritas en la documentación de wxListItem. Para cada uno de los bits especificados en stateMask, el estado correspondiente se activa o desactiva dependiendo de si el argumento state contiene el mismo bit o no.

Así, para seleccionar un elemento se puede utilizar:

list->SetItemState(item, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);

mientras que para deseleccionarlo se debe usar:

list->SetItemState(item, 0, wxLIST_STATE_SELECTED);

Considerese usar wxListView si es posible para evitar lidiar con este método propenso a errores y confuso.

Observese también que, contrariamente a la regla habitual de que sólo las acciones del usuario generan eventos, este método genera un evento wxEVT_LIST_ITEM_SELECTED cuando se utiliza para seleccionar un elemento.

SetItemText()

void wxListCtrl::SetItemText( long item, const wxString & text )

Establece el texto del ítem.

SetItemTextColour()

void wxListCtrl::SetItemTextColour( long item, const wxColour & col )

Establece el color de este elemento.

Esta función sólo funciona en la vista de informe. El color se puede recuperar utilizando GetItemTextColour().

SetNormalImages()

void wxListCtrl::SetNormalImages(const wxVector< wxBitmapBundle > & images)

Establece las imágenes a utilizar cuando se muestran iconos grandes y normales en este control.

Estas imágenes son utilizadas por los elementos cuando el control de lista está en modo wxLC_ICON, en todos los demás modos se utilizan las imágenes establecidas por SetSmallImages().

Esta función debería preferirse a llamar a SetImageList() o AssignImageList() con el argumento wxIMAGE_LIST_NORMAL en el nuevo código, ya que el uso de wxBitmapBundle hace posible especificar múltiples versiones de los iconos, permitiendo al control elegir la correcta para el escalado DPI actual.

SetSingleStyle()

void wxListCtrl::SetSingleStyle( long style, bool add = true )

Añade o elimina un único estilo de ventana.

SetSmallImages()

void wxListCtrl::SetSmallImages(const wxVector< wxBitmapBundle > & images)

Establece las imágenes a utilizar cuando se muestran iconos pequeños en este control.

Estas imágenes son utilizadas por los elementos cuando el control de lista está en modo wxLC_SMALL_ICON o wxLC_REPORT, utilizar SetNormalImages() para los iconos utilizados en modo wxLC_ICON.

Esta función debería preferirse a llamar a SetImageList() o AssignImageList() con el argumento wxIMAGE_LIST_SMALL en el nuevo código, ya que el uso de wxBitmapBundle hace posible especificar múltiples versiones de los iconos, permitiendo al control elegir la correcta para el escalado DPI actual.

SetTextColour()

void wxListCtrl::SetTextColour(const wxColour & col)

Establece el color del texto del control de lista.

SetWindowStyleFlag()

void wxListCtrl::SetWindowStyleFlag(long style)

Establece el estilo de toda la ventana, borrando todos los elementos.

Reimplementado de wxWindow.

ShowSortIndicator()

void wxListCtrl::ShowSortIndicator( int col, bool ascending = true )

Mostrar el indicador de ordenación de una columna específica en una dirección concreta.

Los indicadores de ordenación sólo se muestran en la vista de informe y en la versión nativa wxMSW anulan cualquier icono de columna, es decir, si se muestra el indicador de ordenación para una columna, no se muestra ningún (otro) icono.

Esta función debería llamarse normalmente desde el controlador EVT_LIST_COL_CLICK.

Nota: Esto no ordena la lista, usar SortItems() para esto.

Parámetros
col
La columna para la que se va a establecer el indicador de ordenación. Si se especifica -1, se eliminará el indicador de ordenación mostrado actualmente.
ascending
Si es true o false muestra el indicador de ordenación correspondiente al orden ascendente o descendente respectivamente.
SortItems()

bool wxListCtrl::SortItems( wxListCtrlCompare fnSortCallBack, wxIntPtr data )

Llamar a esta función para ordenar los elementos del control de lista.

La ordenación se realiza utilizando la función fnSortCallBack especificada. Esta función debe tener el siguiente prototipo:

int wxCALLBACK wxListCompareFunction(wxIntPtr item1, wxIntPtr item2, wxIntPtr sortData)

Se llama cada vez que hay que comparar los dos elementos y debe devolver 0 si los elementos son iguales, valor negativo si el primer elemento es menor que el segundo y valor positivo si el primero es mayor que el segundo (la misma convención que utiliza qsort(3)).

El parámetro item1 son los datos del cliente asociados al primer elemento (NO el índice). El parámetro item2 son los datos del cliente asociados al segundo elemento (NO el índice). El parámetro data es el valor pasado a SortItems().

Hay que tener en cuenta que el control sólo puede ordenarse según los datos del cliente asociados a los ítems, por lo que debe utilizar SetItemData si se desea poder ordenar los ítems en el control.

Por favor, vee el Ejemplo de Control de Lista para un ejemplo de uso de esta función.

Nota: En wxPerl la función de comparación debe tomar sólo dos parámetros; sin embargo, se puede utilizar un cierre para conseguir un efecto similar al del tercer parámetro de SortItems.

Métodos y datos heredados

Esta clase hereda los métodos y datos miembro públicos y protegidos de wxControl, wxWindow, wxEvtHandler y wxObject.