Поделиться через


CDateTimeCtrl::GetTime

Извлекает выбранный в данный момент времени из элемента управления " выбор даты и времени и помещает его в указанную структуру SYSTEMTIME.

BOOL GetTime( 
   COleDateTime& timeDest  
) const; 
DWORD GetTime( 
   CTime& timeDest  
) const; 
DWORD GetTime( 
   LPSYSTEMTIME pTimeDest  
) const;

Параметры

  • timeDest
    В первой версии, ссылка на объект COleDateTime, который будет получать сведения о времени системы. Во второй версии, ссылка на объект CTime, который будет получать сведения о времени системы.

  • pTimeDest
    Указатель на структуру SYSTEMTIME для получения сведений о времени системы. Не должно иметь NULL.

Возвращаемое значение

В первой версии, ненулевой если время успешно записывано к объекту COleDateTime; в противном случае – значение 0. В третьих версиях секунд и значение DWORD, равным набор элементов dwFlag в структуре NMDATETIMECHANGE. См. раздел Примечания ниже дополнительные сведения.

Заметки

Эта функция-член реализует расширение функциональности Win32 сообщения DTM_GETSYSTEMTIME, как описано в Windows SDK. В реализации MFC GetTime можно использовать COleDateTime или классы CTime или можно использовать структуру SYSTEMTIME, для хранения сведений о времени.

Возвращаемое значение DWORD секунд и в третьих версиях выше, указывающее, установлено ли элемент управления не даты и времени и даты в состояние "отсутствует", как показано в dwFlags членом структуры NMDATETIMECHANGE. Если возвращенное значение равно GDT_NONE, то элемент управления имеет значение "состояние ни даты" и используется стиль DTS_SHOWNONE. Если возвращенное значение равно GDT_VALID, то системного времени успешно хранится в месте назначения.

Пример

void CDateTimeDlg::OnBnClickedTimebutton()
{
   // get as a CTime
   CTime timeTime;
   DWORD dwResult = m_DateTimeCtrl.GetTime(timeTime);
   if (dwResult == GDT_VALID)
   {
      // the user checked the box and specified data
      CString str;

      // is it a time-only control, or a date-only control? 
      if ((m_DateTimeCtrl.GetStyle() & DTS_TIMEFORMAT) == DTS_TIMEFORMAT)
         str = timeTime.Format(_T("%X"));
      else
         str = timeTime.Format(_T("%x"));
      AfxMessageBox(str);
   }
   else
   {
      // the user unmarked the "none" box
      AfxMessageBox(_T("Time not set!"));
   }

   // Calling as SYSTIME is much the same, but calling for a COleDateTime 
   // has us test the state of the COleDateTime object for validity to  
   // see if the user did or didn't check the "none" box.
}

Требования

Header: afxdtctl.h

См. также

Ссылки

Класс CDateTimeCtrl

Диаграмма иерархии

CDateTimeCtrl::SetTime