+void wxListMainWindow::SetFocus()
+{
+ // VS: wxListMainWindow derives from wxPanel (via wxScrolledWindow) and wxPanel
+ // overrides SetFocus in such way that it does never change focus from
+ // panel's child to the panel itself. Unfortunately, we must be able to change
+ // focus to the panel from wxListTextCtrl because the text control should
+ // disappear when the user clicks outside it.
+
+ wxWindow *oldFocus = FindFocus();
+
+ if ( oldFocus && oldFocus->GetParent() == this )
+ {
+ wxWindow::SetFocus();
+ }
+ else
+ {
+ wxScrolledWindow::SetFocus();
+ }
+}