set focus to the control when it's clicked
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -59,6 +59,7 @@ protected:
|
||||
|
||||
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
|
||||
|
||||
void MSWOnClick(wxMouseEvent& event);
|
||||
void MSWOnDoubleClick(wxMouseEvent& event);
|
||||
|
||||
private:
|
||||
|
@@ -1500,6 +1500,10 @@ void wxGenericCalendarCtrl::OnClick(wxMouseEvent& event)
|
||||
event.Skip();
|
||||
break;
|
||||
}
|
||||
|
||||
// as we don't (always) skip the message, we're not going to receive the
|
||||
// focus on click by default if we don't do it ourselves
|
||||
SetFocus();
|
||||
}
|
||||
|
||||
wxCalendarHitTestResult wxGenericCalendarCtrl::HitTest(const wxPoint& pos,
|
||||
|
@@ -97,6 +97,8 @@ wxCalendarCtrl::Create(wxWindow *parent,
|
||||
|
||||
UpdateMarks();
|
||||
|
||||
Connect(wxEVT_LEFT_DOWN,
|
||||
wxMouseEventHandler(wxCalendarCtrl::MSWOnClick));
|
||||
Connect(wxEVT_LEFT_DCLICK,
|
||||
wxMouseEventHandler(wxCalendarCtrl::MSWOnDoubleClick));
|
||||
|
||||
@@ -400,4 +402,13 @@ void wxCalendarCtrl::MSWOnDoubleClick(wxMouseEvent& event)
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void wxCalendarCtrl::MSWOnClick(wxMouseEvent& event)
|
||||
{
|
||||
// for some reason, the control doesn't get focus on its own when the user
|
||||
// clicks in it
|
||||
SetFocus();
|
||||
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
#endif // wxUSE_CALENDARCTRL
|
||||
|
Reference in New Issue
Block a user