Compartilhar via


CDateTimeCtrl::GetTime

Recupera o tempo atualmente selecionados de um controle seletor de data e hora e os coloca em uma estrutura específica de SYSTEMTIME .

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

Parâmetros

  • mais timeDest
    Em a primeira versão, uma referência a um objeto de COleDateTime que recebe informações de tempo do sistema.Em a segunda versão, uma referência a um objeto de CTime que recebe informações de tempo do sistema.

  • mais pTimeDest
    Um ponteiro para a estrutura de SYSTEMTIME para receber informações de tempo do sistema.Não deve ser NULO.

Valor de retorno

Em a primeira versão, diferente de zero se o tempo são gravados com êxito o objeto de COleDateTime ; se não 0.Em a segunda e terceira versões, um valor de DWORD igual ao membro de dwFlag definido na estrutura de NMDATETIMECHANGE .Consulte a seção de Comentários abaixo para mais informações.

Comentários

Essa função de membro implementa o comportamento de mensagem DTM_GETSYSTEMTIMEWin32, como descrito em Windows SDK.Em a implementação de GetTimeMFC, você pode usar COleDateTime ou classes de CTime , ou você pode usar uma estrutura de SYSTEMTIME , para armazenar informações de tempo.

O valor de retorno DWORD na segunda e terceira, versões anteriores, indica se o controle seletor de data e hora é definido para o status de “nenhuma data”, conforme indicado no membro de estrutura dwFlagsde NMDATETIMECHANGE .Se o valor retornado é igual GDT_NONE, o controle é definido para o status de “nenhuma data”, e usa o estilo de DTS_SHOWNONE .Se o valor retornado é igual GDT_VALID, o tempo do sistema são armazenados com êxito no local de destino.

Exemplo

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.
}

Requisitos

Cabeçalho: afxdtctl.h

Consulte também

Referência

Classe de CDateTimeCtrl

Gráfico de hierarquia

CDateTimeCtrl::SetTime