.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.BitmapButton:

==========================================================================================================================================
|phoenix_title|  **wx.BitmapButton**
==========================================================================================================================================

A bitmap button is a control that contains a bitmap.          

Notice that since wxWidgets 2.9.1 bitmap display is supported by the base :ref:`wx.Button`  class itself and the only tiny advantage of using this class is that it allows specifying the bitmap in its constructor, unlike :ref:`wx.Button`. Please see the base class documentation for more information about images support in :ref:`wx.Button`. 





.. _BitmapButton-styles:

|styles| Window Styles
================================

This class supports the following styles: 

  

- ``wx.BU_LEFT``: Left-justifies the bitmap label.  
- ``wx.BU_TOP``: Aligns the bitmap label to the top of the button.  
- ``wx.BU_RIGHT``: Right-justifies the bitmap label.  
- ``wx.BU_BOTTOM``: Aligns the bitmap label to the bottom of the button.  

Note that the ``wx.BU_EXACTFIT`` style supported by
:ref:`wx.Button`  is not used by this class as bitmap buttons don't have any minimal standard size by default. 







.. _BitmapButton-events:

|events| Events Emitted by this Class
=====================================

Handlers bound for the following event types will receive a :ref:`wx.CommandEvent` parameter.


- EVT_BUTTON: Process a  ``wxEVT_BUTTON``   event, when the button is clicked.   








         



.. seealso:: :ref:`wx.Button`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>BitmapButton</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.BitmapButton_inheritance.png" alt="Inheritance diagram of BitmapButton" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.BitmapButton.html" title="wx.BitmapButton" alt="" coords="41,469,176,499"/> <area shape="rect" id="node2" href="wx.Button.html" title="wx.Button" alt="" coords="65,392,153,421"/> <area shape="rect" id="node3" href="wx.AnyButton.html" title="wx.AnyButton" alt="" coords="52,315,165,344"/> <area shape="rect" id="node4" href="wx.Control.html" title="wx.Control" alt="" coords="63,237,155,267"/> <area shape="rect" id="node5" href="wx.Window.html" title="wx.Window" alt="" coords="60,160,157,189"/> <area shape="rect" id="node6" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="50,83,167,112"/> <area shape="rect" id="node7" href="wx.Object.html" title="wx.Object" alt="" coords="5,5,92,35"/> <area shape="rect" id="node8" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="117,5,223,35"/> </map> 
   </p>
   </div>

|


|appearance| Control Appearance
===============================

|

.. figure:: _static/images/widgets/fullsize/wxmsw/wx.bitmapbutton.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


.. figure:: _static/images/widgets/fullsize/wxmac/wx.bitmapbutton.png
   :alt: wxMAC
   :figclass: floatright

   **wxMAC**


.. figure:: _static/images/widgets/fullsize/wxgtk/wx.bitmapbutton.png
   :alt: wxGTK
   :figclass: floatcenter

   **wxGTK**


|


|sub_classes| Known Subclasses
==============================

:ref:`wx.ContextHelpButton`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.BitmapButton.__init__`                                                Default constructor.
:meth:`~wx.BitmapButton.Create`                                                  Button creation function for two-step creation.
:meth:`~wx.BitmapButton.CreateCloseButton`                                       Creation function for two-step creation of "Close" button.
:meth:`~wx.BitmapButton.GetClassDefaultAttributes`                               
:meth:`~wx.BitmapButton.NewCloseButton`                                          Helper function creating a standard-looking "Close" button.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.BitmapButton(Button)

   **Possible constructors**::

       BitmapButton()
       
       BitmapButton(parent, id=ID_ANY, bitmap=NullBitmap, pos=DefaultPosition,
                    size=DefaultSize, style=0, validator=DefaultValidator,
                    name=ButtonNameStr)
       
   
   A bitmap button is a control that contains a bitmap.



   .. method:: __init__(self, *args, **kw)



      |overload| Overloaded Implementations:

      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self)`
      
      Default constructor.                   
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`

      
      **__init__** `(self, parent, id=ID_ANY, bitmap=NullBitmap, pos=DefaultPosition, size=DefaultSize, style=0, validator=DefaultValidator, name=ButtonNameStr)`
      
      Constructor, creating and showing a button.                  
      
      
      
      
      :param `parent`: Parent window. Must not be ``None``.   
      :type `parent`: wx.Window
      :param `id`: Button identifier. The value ``wx.ID_ANY`` indicates a default value.   
      :type `id`: wx.WindowID
      :param `bitmap`: Bitmap to be displayed.   
      :type `bitmap`: wx.Bitmap
      :param `pos`: Button position. If :ref:`wx.DefaultPosition`  is specified then a default position is chosen.   
      :type `pos`: wx.Point
      :param `size`: Button size. If :ref:`wx.DefaultSize`  is specified then the button is sized appropriately for the bitmap.   
      :type `size`: wx.Size
      :param `style`: Window style. See :ref:`wx.BitmapButton`.   
      :type `style`: long
      :param `validator`: Window validator.   
      :type `validator`: wx.Validator
      :param `name`: Window name.  
      :type `name`: string
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
                        
      
      
      
      .. note:: 
      
         The bitmap parameter is normally the only bitmap you need to provide, and wxWidgets will draw the button correctly in its different states. If you want more control, call any of the functions :meth:`SetBitmapPressed` , :meth:`SetBitmapFocus` , :meth:`SetBitmapDisabled` .  
      
      
      
      
      
      
      
      .. seealso:: :meth:`Create` , :ref:`wx.Validator`    
      
      
      
      
      
      
      
      :html:`<hr class="overloadsep" /><br />`






   .. method:: Create(self, parent, id=ID_ANY, bitmap=NullBitmap, pos=DefaultPosition, size=DefaultSize, style=0, validator=DefaultValidator, name=ButtonNameStr)

      Button creation function for two-step creation.                  

      For more details, see :ref:`wx.BitmapButton`.                  


      :param `parent`: 
      :type `parent`: wx.Window
      :param `id`: 
      :type `id`: wx.WindowID
      :param `bitmap`: 
      :type `bitmap`: wx.Bitmap
      :param `pos`: 
      :type `pos`: wx.Point
      :param `size`: 
      :type `size`: wx.Size
      :param `style`: 
      :type `style`: long
      :param `validator`: 
      :type `validator`: wx.Validator
      :param `name`: 
      :type `name`: string




      :rtype: `bool`








   .. method:: CreateCloseButton(self, parent, winid, name="")

      Creation function for two-step creation of "Close" button.                  

      It is usually not necessary to use this function directly as :meth:`NewCloseButton`   is more convenient, but, if required, it can be called on a default-constructed :ref:`wx.BitmapButton`  object to achieve the same effect. 




      :param `parent`: The button parent window, must be non-NULL.   
      :type `parent`: wx.Window
      :param `winid`: The identifier for the new button.   
      :type `winid`: wx.WindowID
      :param `name`: The name for the new button.  
      :type `name`: string










      :rtype: `bool`



                  



      .. versionadded:: 4.1/wxWidgets-3.1.5  
     








   .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)




      :param `variant`: 
      :type `variant`: wx.WindowVariant




      :rtype: :ref:`wx.VisualAttributes`








   .. staticmethod:: NewCloseButton(parent, winid, name="")

      Helper function creating a standard-looking "Close" button.                  

      To get the best results, platform-specific code may need to be used to create a small, title bar-like "Close" button. This function is provided to avoid the need to test for the current platform and creates the button with as native look as possible. 




      :param `parent`: The button parent window, must be non-NULL.   
      :type `parent`: wx.Window
      :param `winid`: The identifier for the new button.   
      :type `winid`: wx.WindowID
      :param `name`: The name for the new button (available since wxWidgets 3.1.5)   
      :type `name`: string










      :rtype: :ref:`wx.BitmapButton`



                  



      :returns: 

         The new button.  







      .. versionadded:: 2.9.5 
     







