Correct focus rect to not appear in unfocussed controls (currently doesn't appear at all under XP

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2007-10-17 09:43:19 +00:00
parent 49fc3b9c03
commit 001f0f8273
2 changed files with 3 additions and 2 deletions

View File

@ -26,7 +26,7 @@
#if defined(__WXGTK20__)
// for testing
#define wxUSE_GENERICDATAVIEWCTRL 1
// #define wxUSE_GENERICDATAVIEWCTRL 1
#elif defined(__WXMAC__)
#else
#define wxUSE_GENERICDATAVIEWCTRL 1

View File

@ -2351,6 +2351,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
x, item_last * m_lineHeight);
}
bool has_focus = (FindFocus() == this);
// redraw the background for the items which are selected/current
for (unsigned int item = item_start; item < item_last; item++)
{
@ -2358,7 +2359,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
if (selected || item == m_currentRow)
{
int flags = selected ? (int)wxCONTROL_SELECTED : 0;
if (item == m_currentRow)
if ((item == m_currentRow) && has_focus)
flags |= wxCONTROL_CURRENT;
if (m_hasFocus)
flags |= wxCONTROL_FOCUSED;