void IFWL_DateTimePicker::OnFocusChanged(CFWL_Message* pMsg, bool bSet) {
  if (!pMsg)
    return;
  if (m_pWidgetMgr->IsFormDisabled())
    return DisForm_OnFocusChanged(pMsg, bSet);

  if (bSet) {
    m_pProperties->m_dwStates |= (FWL_WGTSTATE_Focused);
    Repaint(&m_rtClient);
  } else {
    m_pProperties->m_dwStates &= ~(FWL_WGTSTATE_Focused);
    Repaint(&m_rtClient);
  }
  if (pMsg->m_pSrcTarget == m_pMonthCal.get() && IsMonthCalendarVisible()) {
    ShowMonthCalendar(false);
  }
  Repaint(&m_rtClient);
}
void CFWL_DateTimePickerImpDelegate::OnFocusChanged(CFWL_Message* pMsg,
                                                    FX_BOOL bSet) {
  if (!pMsg)
    return;
  if (m_pOwner->m_pWidgetMgr->IsFormDisabled()) {
    return DisForm_OnFocusChanged(pMsg, bSet);
  }
  if (bSet) {
    m_pOwner->m_pProperties->m_dwStates |= (FWL_WGTSTATE_Focused);
    m_pOwner->Repaint(&m_pOwner->m_rtClient);
  } else {
    m_pOwner->m_pProperties->m_dwStates &= ~(FWL_WGTSTATE_Focused);
    m_pOwner->Repaint(&m_pOwner->m_rtClient);
  }
  if (pMsg->m_pSrcTarget == m_pOwner->m_pMonthCal.get() &&
      m_pOwner->IsMonthCalendarShowed()) {
    m_pOwner->ShowMonthCalendar(FALSE);
  }
  m_pOwner->Repaint(&m_pOwner->m_rtClient);
}