X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0c8392cac2d36d0d211432e71d3b24d3d93c22db..86f8d1a8bbb08c7e74bb2819d5380ec6d40b73a5:/src/generic/vlbox.cpp diff --git a/src/generic/vlbox.cpp b/src/generic/vlbox.cpp index df023053a3..de98e9917f 100644 --- a/src/generic/vlbox.cpp +++ b/src/generic/vlbox.cpp @@ -6,7 +6,7 @@ // Created: 31.05.03 // RCS-ID: $Id$ // Copyright: (c) 2003 Vadim Zeitlin -// License: wxWindows license +// License: wxWidgets license /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -68,6 +68,7 @@ bool wxVListBox::Create(wxWindow *parent, long style, const wxString& name) { + style |= wxWANTS_CHARS | wxFULL_REPAINT_ON_RESIZE; if ( !wxVScrolledWindow::Create(parent, id, pos, size, style, name) ) return false; @@ -75,6 +76,12 @@ bool wxVListBox::Create(wxWindow *parent, m_selStore = new wxSelectionStore; SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_LISTBOX)); + SetForegroundColour(parent->GetForegroundColour()); + + // ensure that the font actually changes and is set. + SetFont(wxNullFont); + SetFont(parent->GetFont()); + m_colBgSel = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT); return true; @@ -486,7 +493,7 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event) // flags for DoHandleItemClick() int flags = ItemClick_Kbd; - int current = 0; // just to silent the stupid compiler warnings + int current; switch ( event.GetKeyCode() ) { case WXK_HOME: @@ -537,8 +544,23 @@ void wxVListBox::OnKeyDown(wxKeyEvent& event) current = m_current; break; +#ifdef __WXMSW__ + case WXK_TAB: + // Since we are using wxWANTS_CHARS we need to send navigation + // events for the tabs on MSW + { + wxNavigationKeyEvent ne; + ne.SetDirection(!event.ShiftDown()); + ne.SetCurrentFocus(this); + ne.SetEventObject(this); + GetParent()->GetEventHandler()->ProcessEvent(ne); + } + // fall through to default +#endif default: event.Skip(); + current = 0; // just to silent the stupid compiler warnings + wxUnusedVar(current); return; }