]>
git.saurik.com Git - wxWidgets.git/blob - src/msw/panel.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/msw/panel.cpp
3 // Purpose: Implementation of wxMSW-specific wxPanel class.
4 // Author: Vadim Zeitlin
6 // RCS-ID: $Id: wxhead.cpp,v 1.11 2010-04-22 12:44:51 zeitlin Exp $
7 // Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 // ============================================================================
13 // ============================================================================
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
19 // for compilers that support precompilation, includes "wx.h".
20 #include "wx/wxprec.h"
27 #include "wx/bitmap.h"
32 // ============================================================================
34 // ============================================================================
36 bool wxPanel::HasTransparentBackground()
38 for ( wxWindow
*win
= GetParent(); win
; win
= win
->GetParent() )
40 if ( win
->MSWHasInheritableBackground() )
43 if ( win
->IsTopLevel() )
50 void wxPanel::DoSetBackgroundBitmap(const wxBitmap
& bmp
)
52 delete m_backgroundBrush
;
53 m_backgroundBrush
= bmp
.IsOk() ? new wxBrush(bmp
) : NULL
;
55 // Our transparent children should use our background if we have it,
56 // otherwise try to restore m_inheritBgCol to some reasonable value: true
57 // if we also have non-default background colour or false otherwise.
58 m_inheritBgCol
= bmp
.IsOk() || UseBgCol();
61 WXHBRUSH
wxPanel::MSWGetCustomBgBrush()
63 if ( m_backgroundBrush
)
64 return (WXHBRUSH
)m_backgroundBrush
->GetResourceHandle();
66 return wxPanelBase::MSWGetCustomBgBrush();