withimages.h

Clase wxWithImages

Una clase mixta para ser utilizada con otras clases que utilizan una wxImageList.

Jerarquía:

Jerarquía de la clase wxWithImages

Esta clase es utilizada por clases como wxNotebook y wxTreeCtrl, que utilizan índices de imagen para especificar los iconos utilizados para sus elementos (iconos de página para el primero o los elementos dentro del control para el segundo).

El índice de icono puede ser un valor especial NO_IMAGE para indicar que un elemento no utiliza ninguna imagen o un pequeño número entero positivo para especificar el índice del icono en la lista de imágenes mantenida por esta clase. Hay que tener en cuenta que para muchos controles, o bien ninguno de los elementos debe tener un icono o todos ellos deben tener uno, es decir, la mezcla de los elementos con y sin un icono no siempre funciona bien y puede dar lugar a una apariencia menos que ideal.

Para inicializar la lista de iconos utilizados, hay que llamar al método SetImages() pasándole un vector de objetos wxBitmapBundle que, en el caso más sencillo, pueden ser sólo objetos wxBitmap o wxIcon - sin embargo, como siempre con wxBitmapBundle, o bien hay que especificar más de un bitmap o icono o bien hay que crear el bitmap bundle a partir de SVG para obtener una mejor apariencia en DPI altos.

La API alternativa y tradicional, que era la única disponible hasta wxWidgets 3.1.6, se basa en el uso de la clase wxImageList. Para usarla, es necesario crear un objeto de esta clase y luego llamar a AssignImageList() para establecer esta lista de imágenes y dar al control su propiedad o a SetImageList() para retener la propiedad de la lista de imágenes, lo que puede ser útil si la misma lista de imágenes es compartida por múltiples controles, pero requiere borrar la lista de imágenes más tarde.

Nota: La API basada en wxImageList no está formalmente obsoleta, pero se desaconseja su uso porque es más complicada que simplemente proporcionar un vector de mapas de bits y no permite especificar múltiples imágenes o usar SVG, lo que es necesario para un buen soporte de DPI altos. Por favor, no utilizar AssignImageList() y SetImageList() en el nuevo código y utilizar SetImages() en su lugar.

Tipos miembro

anonymous enum

enum { NO_IMAGE = -1 }

Funciones miembro

wxWithImages()

wxWithImages::wxWithImages()

Constructor por defecto.

~wxWithImages()

virtual wxWithImages::~wxWithImages()

Destructor

AssignImageList()

void wxWithImages::AssignImageList(wxImageList * imageList)

Establece la lista de imágenes para el control de página y toma posesión de la lista.

Esta función existe sólo por compatibilidad, por favor utilizar SetImages() en el nuevo código.

GetImage()

wxIcon wxWithImages::GetImage(int iconIndex) const

Devuelve la imagen con el índice dado de la lista de imágenes.

Si no hay lista de imágenes o si index == NO_IMAGE, devuelve sólo wxNullIcon.

GetImageCount()

int wxWithImages::GetImageCount() const

Devuelve el número de imágenes de este control.

El valor devuelto puede ser 0 si no hay imágenes asociadas al control.

GetImageList()

wxImageList* wxWithImages::GetImageList() const

Devuelve la lista de imágenes asociada, puede ser NULL.

Hay que tener en cuenta que el nuevo código debería utilizar GetUpdatedImageListFor() en su lugar.

GetUpdatedImageListFor()

wxImageList* wxWithImages::GetUpdatedImageListFor(wxWindow * win)

Devuelve la lista de imágenes actualizada para reflejar el escalado DPI utilizado para la ventana proporcionada si es posible.

Si se ha llamado a SetImages(), esta función crea la lista de imágenes que contiene las imágenes utilizando el escalado DPI en vigor para la ventana proporcionada, que debe ser válido.

En caso contrario, se comporta como GetImageList(), es decir, devuelve la lista de imágenes establecida previamente mediante SetImageList() o AssignImageList(), y devuelve NULL si no se ha llamado a ninguna de ellas.

Valor de retorno

Posiblemente un puntero nulo propiedad de este objeto, es decir, que no debe ser borrado por el llamante.

HasImageList()

bool wxWithImages::HasImageList() const

Devuelve true si tenemos una lista de imágenes válida.

HasImages()

bool wxWithImages::HasImages() const

Devuelve true si el control tiene alguna imagen asociada.

SetImageList()

virtual void wxWithImages::SetImageList(wxImageList * imageList)

Establece la lista de imágenes a utilizar.

No toma posesión de la lista de imágenes, debe se borrada explícitamente.

Esta función existe sólo por compatibilidad, por favor utilizar SetImages() en el nuevo código.

SetImages()

void wxWithImages::SetImages(const wxVector< wxBitmapBundle > & images)

Establece las imágenes a utilizar para los elementos del control.

Esta función permite especificar las imágenes a utilizar en múltiples resoluciones diferentes, dejando que el control seleccione la apropiada para su escalado DPI. Por esta razón, en el nuevo código es preferible utilizar esta función a las funciones que toman wxImageList, que tiene un tamaño fijo.

Parámetros
images
Vector no vacío de paquetes de mapas de bits. Los índices de imagen válidos para los elementos de este control vienen determinados por el tamaño de este vector.