+void wxCalendarCtrl::OnClick(wxMouseEvent& event)
+{
+ wxDateTime date;
+ wxDateTime::WeekDay wday;
+ switch ( HitTest(event.GetPosition(), &date, &wday) )
+ {
+ case wxCAL_HITTEST_DAY:
+ ChangeDay(date);
+
+ GenerateEvent(wxEVT_CALENDAR_DAY_CHANGED);
+ break;
+
+ case wxCAL_HITTEST_HEADER:
+ {
+ wxCalendarEvent event(this, wxEVT_CALENDAR_WEEKDAY_CLICKED);
+ event.m_wday = wday;
+ (void)GetEventHandler()->ProcessEvent(event);
+ }
+ break;
+
+ default:
+ wxFAIL_MSG(_T("unknown hittest code"));
+ // fall through
+
+ case wxCAL_HITTEST_NOWHERE:
+ event.Skip();
+ break;