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