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:
@@ -24,6 +24,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/brush.h"
|
||||
#include "wx/panel.h"
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
@@ -44,3 +45,17 @@ bool wxPanel::HasTransparentBackground()
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void wxPanel::DoSetBackgroundBitmap(const wxBitmap& bmp)
|
||||
{
|
||||
delete m_backgroundBrush;
|
||||
m_backgroundBrush = bmp.IsOk() ? new wxBrush(bmp) : NULL;
|
||||
}
|
||||
|
||||
WXHBRUSH wxPanel::MSWGetCustomBgBrush()
|
||||
{
|
||||
if ( m_backgroundBrush )
|
||||
return (WXHBRUSH)m_backgroundBrush->GetResourceHandle();
|
||||
|
||||
return wxPanelBase::MSWGetCustomBgBrush();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user