if ( style & wxCC_STD_BUTTON )
m_iFlags |= wxCC_POPUP_ON_MOUSE_UP;
+ // Prepare background for double-buffering or better background theme
+ // support, whichever is possible.
+ SetDoubleBuffered(true);
+ if ( !IsDoubleBuffered() )
+ SetBackgroundStyle( wxBG_STYLE_PAINT );
+
// Create textctrl, if necessary
CreateTextCtrl( wxNO_BORDER );
// Add keyboard input handlers for main control and textctrl
InstallInputHandlers();
- // Prepare background for double-buffering
- SetBackgroundStyle( wxBG_STYLE_CUSTOM );
-
// SetInitialSize should be called last
SetInitialSize(size);
// TODO: Convert drawing in this function to Windows API Code
wxSize sz = GetClientSize();
- wxAutoBufferedPaintDC dc(this);
+ wxDC* dcPtr = wxAutoBufferedPaintDCFactory(this);
+ wxDC& dc = *dcPtr;
const wxRect& rectButton = m_btnArea;
wxRect rectTextField = m_tcArea;
else
wxComboPopup::DefaultPaintComboControl(this,dc,rectTextField);
}
+
+ delete dcPtr;
}
void wxComboCtrl::OnMouseEvent( wxMouseEvent& event )