Partilhar via


CDateTimeCtrl::GetTime

Recupera o time atualmente selecionado de um controle de selecionador de data e time e coloca-o em um especificado SYSTEMTIME estrutura.

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

Parâmetros

  • timeDest
    Na primeira versão, uma referência a um COleDateTime objeto que receberá as informações de time do sistema.Na segunda versão, uma referência a um CTime objeto que receberá as informações de time do sistema.

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

Valor de retorno

Na primeira versão, diferente de zero se o time é gravado com êxito o COleDateTime objeto; caso contrário, 0. Nas versões segunda e terceira, um DWORD valor igual a dwFlag membro conjunto no NMDATETIMECHANGE estrutura.Consulte o Comentários seção abaixo para obter mais informações.

Comentários

Esta função de membro implementa o comportamento do Win32 mensagem DTM_GETSYSTEMTIME, conforme descrito no Windows SDK. Na implementação do MFCGetTime, você pode usar COleDateTime ou CTime classes, ou você pode usar um SYSTEMTIME estrutura para armazenar as informações de time.

O valor retornado DWORDsistema autônomo versões segunda e terceira, acima, indica se o controle de selecionador de data e time está conjunto para o status "não há data", conforme indicado na NMDATETIMECHANGE estruturar membro dwFlags. Se o valor retornado é igual a GDT_NONE, o controle estiver definido como "nenhuma data" status e usa o DTS_SHOWNONE estilo.Se o valor retornado é igual a GDT_VALID, a time do sistema com êxito é armazenado 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 CDateTimeCtrl

Gráfico de hierarquia

CDateTimeCtrl::SetTime

Outros recursos

CDateTimeCtrl membros