.. include:: headings.inc .. _ImageList: ========================================================================================================================================== |phoenix_title| **ImageList** ========================================================================================================================================== A :ref:`ImageList` contains a list of images, which are stored in an unspecified form. Images can have masks for transparent drawing, and can be made from a variety of sources including bitmaps and icons. :ref:`ImageList` is used principally in conjunction with :ref:`TreeCtrl` and :ref:`ListCtrl` classes. .. seealso:: :ref:`TreeCtrl`, :ref:`ListCtrl` | |class_hierarchy| Inheritance Diagram ===================================== Inheritance diagram for class **ImageList** .. raw:: html

Inheritance diagram of ImageList

| |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~ImageList.__init__` Default constructor. :meth:`~ImageList.Add` Adds a new image or images using a bitmap and optional mask bitmap. :meth:`~ImageList.Create` Initializes the list. :meth:`~ImageList.Draw` Draws a specified image onto a device context. :meth:`~ImageList.GetBitmap` Returns the bitmap corresponding to the given index. :meth:`~ImageList.GetIcon` Returns the icon corresponding to the given index. :meth:`~ImageList.GetImageCount` Returns the number of images in the list. :meth:`~ImageList.GetSize` Retrieves the size of the images in the list. :meth:`~ImageList.Remove` Removes the image at the given position. :meth:`~ImageList.RemoveAll` Removes all the images in the list. :meth:`~ImageList.Replace` Replaces the existing image with the new image. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~ImageList.ImageCount` See :meth:`~ImageList.GetImageCount` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: ImageList(Object) A ImageList contains a list of images, which are stored in an unspecified form. **Possible constructors**:: ImageList() ImageList(width, height, mask=True, initialCount=1) .. method:: __init__(self, *args, **kw) |overload| **Overloaded Implementations**: **~~~** **__init__** `(self)` Default constructor. **~~~** **__init__** `(self, width, height, mask=True, initialCount=1)` Constructor specifying the image size, whether image masks should be created, and the initial size of the list. :param `width`: Width of the images in the list. :type `width`: int :param `height`: Height of the images in the list. :type `height`: int :param `mask`: ``True`` if masks should be created for all images. :type `mask`: bool :param `initialCount`: The initial size of the list. :type `initialCount`: int .. seealso:: :meth:`Create` **~~~** .. method:: Add(self, *args, **kw) |overload| **Overloaded Implementations**: **~~~** **Add** `(self, bitmap, mask=NullBitmap)` Adds a new image or images using a bitmap and optional mask bitmap. :param `bitmap`: Bitmap representing the opaque areas of the image. :type `bitmap`: Bitmap :param `mask`: Monochrome mask bitmap, representing the transparent areas of the image. :type `mask`: Bitmap :rtype: `int` :returns: The new zero-based image index. .. note:: The original bitmap or icon is not affected by the :meth:`Add` operation, and can be deleted afterwards. If the bitmap is wider than the images in the list, then the bitmap will automatically be split into smaller images, each matching the dimensions of the image list. This does not apply when adding icons. **~~~** **Add** `(self, bitmap, maskColour)` Adds a new image or images using a bitmap and mask colour. :param `bitmap`: Bitmap representing the opaque areas of the image. :type `bitmap`: Bitmap :param `maskColour`: Colour indicating which parts of the image are transparent. :type `maskColour`: Colour :rtype: `int` :returns: The new zero-based image index. .. note:: The original bitmap or icon is not affected by the :meth:`Add` operation, and can be deleted afterwards. If the bitmap is wider than the images in the list, then the bitmap will automatically be split into smaller images, each matching the dimensions of the image list. This does not apply when adding icons. **~~~** **Add** `(self, icon)` Adds a new image using an icon. :param `icon`: Icon to use as the image. :type `icon`: Icon :rtype: `int` :returns: The new zero-based image index. .. note:: The original bitmap or icon is not affected by the :meth:`Add` operation, and can be deleted afterwards. If the bitmap is wider than the images in the list, then the bitmap will automatically be split into smaller images, each matching the dimensions of the image list. This does not apply when adding icons. .. availability:: Only available for MSW, OSX. **~~~** .. method:: Create(self, width, height, mask=True, initialCount=1) Initializes the list. See :ref:`ImageList` for details. :param `width`: :type `width`: int :param `height`: :type `height`: int :param `mask`: :type `mask`: bool :param `initialCount`: :type `initialCount`: int :rtype: `bool` .. method:: Draw(self, index, dc, x, y, flags=IMAGELIST_DRAW_NORMAL, solidBackground=False) Draws a specified image onto a device context. :param `index`: Image index, starting from zero. :type `index`: int :param `dc`: Device context to draw on. :type `dc`: DC :param `x`: X position on the device context. :type `x`: int :param `y`: Y position on the device context. :type `y`: int :param `flags`: How to draw the image. A bitlist of a selection of the following: - ``IMAGELIST_DRAW_NORMAL``: Draw the image normally. - ``IMAGELIST_DRAW_TRANSPARENT``: Draw the image with transparency. - ``IMAGELIST_DRAW_SELECTED``: Draw the image in selected state. - ``IMAGELIST_DRAW_FOCUSED``: Draw the image in a focused state. :type `flags`: int :param `solidBackground`: For optimisation - drawing can be faster if the function is told that the background is solid. :type `solidBackground`: bool :rtype: `bool` .. method:: GetBitmap(self, index) Returns the bitmap corresponding to the given index. :param `index`: :type `index`: int :rtype: :ref:`Bitmap` .. method:: GetIcon(self, index) Returns the icon corresponding to the given index. :param `index`: :type `index`: int :rtype: :ref:`Icon` .. method:: GetImageCount(self) Returns the number of images in the list. :rtype: `int` .. method:: GetSize(self, index) Retrieves the size of the images in the list. Currently, the `index` parameter is ignored as all images in the list have the same size. :param `index`: currently unused, should be 0 :type `index`: int receives the width of the images in the list receives the height of the images in the list :rtype: `tuple` :returns: ( `width`, `height` ) .. method:: Remove(self, index) Removes the image at the given position. :param `index`: :type `index`: int :rtype: `bool` .. method:: RemoveAll(self) Removes all the images in the list. :rtype: `bool` .. method:: Replace(self, *args, **kw) |overload| **Overloaded Implementations**: **~~~** **Replace** `(self, index, bitmap, mask=NullBitmap)` Replaces the existing image with the new image. Windows only. :param `index`: The index of the bitmap to be replaced. :type `index`: int :param `bitmap`: Bitmap representing the opaque areas of the image. :type `bitmap`: Bitmap :param `mask`: Monochrome mask bitmap, representing the transparent areas of the image. :type `mask`: Bitmap :rtype: `bool` :returns: ``True`` if the replacement was successful, ``False`` otherwise. .. note:: The original bitmap or icon is not affected by the :meth:`Replace` operation, and can be deleted afterwards. **~~~** **Replace** `(self, index, icon)` Replaces the existing image with the new image. :param `index`: The index of the bitmap to be replaced. :type `index`: int :param `icon`: Icon to use as the image. :type `icon`: Icon :rtype: `bool` :returns: ``True`` if the replacement was successful, ``False`` otherwise. .. note:: The original bitmap or icon is not affected by the :meth:`Replace` operation, and can be deleted afterwards. .. availability:: Only available for MSW, OSX. **~~~** .. attribute:: ImageCount See :meth:`~ImageList.GetImageCount`