}
// draw focus background on area in a way typical on platform
-void wxComboCtrl::DrawFocusBackground( wxDC& dc, const wxRect& rect, int flags ) const
+void wxComboCtrl::PrepareBackground( wxDC& dc, const wxRect& rect, int flags ) const
{
wxUxThemeEngine* theme = (wxUxThemeEngine*) NULL;
if ( drawDottedEdge )
wxMSWDrawFocusRect(dc,selRect);
+ // Don't clip exactly to the selection rectangle so we can draw
+ // to the non-selected area in front of it.
+ wxRect clipRect(rect.x,rect.y,
+ (selRect.x+selRect.width)-rect.x-1,rect.height);
+ dc.SetClippingRegion(clipRect);
}
void wxComboCtrl::OnPaintEvent( wxPaintEvent& WXUNUSED(event) )
void wxComboCtrl::OnMouseEvent( wxMouseEvent& event )
{
- bool isOnButtonArea = m_btnArea.Inside(event.m_x,event.m_y);
+ bool isOnButtonArea = m_btnArea.Contains(event.m_x,event.m_y);
int handlerFlags = isOnButtonArea ? wxCC_MF_ON_BUTTON : 0;
// Preprocessing fabricates double-clicks and prevents