Add wxPanel::SetBackgroundBitmap().

This method provides a simple way to set a background bitmap without defining
an EVT_ERASE_BACKGROUND handler and, more importantly, one that works
correctly in wxMSW for a window with children as it paints the background of
transparent children too.

Add a test of this method to the erase sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-03-20 00:00:49 +00:00
parent cf858bab79
commit cd95f7e65c
19 changed files with 509 additions and 162 deletions

View File

@@ -12,6 +12,8 @@
#ifndef _WX_GENERIC_PANELG_H_
#define _WX_GENERIC_PANELG_H_
#include "wx/bitmap.h"
class WXDLLIMPEXP_CORE wxPanel : public wxPanelBase
{
public:
@@ -40,7 +42,18 @@ public:
)
#endif // WXWIN_COMPATIBILITY_2_8
protected:
virtual void DoSetBackgroundBitmap(const wxBitmap& bmp);
private:
// Event handler for erasing the background which is only used when we have
// a valid background bitmap.
void OnEraseBackground(wxEraseEvent& event);
// The bitmap used for painting the background if valid.
wxBitmap m_bitmapBg;
wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxPanel);
};