Compartilhar via


Classe CMFCToolBarDateTimeCtrl

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua sendo suportada. No entanto, não estamos mais adicionando recursos ou atualizando a documentação.

Um botão de barra de ferramentas que contém um controle seletor de data e hora.

Sintaxe

class CMFCToolBarDateTimeCtrl : public CMFCToolBarButton

Membros

Construtores públicos

Nome Descrição
CMFCToolBarDateTimeCtrl::CMFCToolBarDateTimeCtrl Constrói um objeto CMFCToolBarDateTimeCtrl.
CMFCToolBarDateTimeCtrl::~CMFCToolBarDateTimeCtrl Destruidor.

Métodos públicos

Nome Descrição
CMFCToolBarDateTimeCtrl::CanBeStretched Especifica se um usuário pode alongar o botão durante a personalização. (Substitui CMFCToolBarButton::CanBeStretched.)
CMFCToolBarDateTimeCtrl::CopyFrom Copia as propriedades de outro botão de barra de ferramentas para o botão atual. (Substitui CMFCToolBarButton::CopyFrom.)
CMFCToolBarDateTimeCtrl::DuplicateData Reservado para uso futuro.
CMFCToolBarButton::ExportToMenuButton Copia o texto do botão de barra de ferramentas para um menu.
CMFCToolBarDateTimeCtrl::CreateObject Usado pela estrutura para criar uma instância dinâmica desse tipo de classe.
CMFCToolBarDateTimeCtrl::GetByCmd Recupera o primeiro objeto CMFCToolBarDateTimeCtrl no aplicativo que tem a ID de comando especificada.
CMFCToolBarDateTimeCtrl::GetDateTimeCtrl Retorna um ponteiro para o controle seletor de data e hora.
CMFCToolBarDateTimeCtrl::GetHwnd Recupera o identificador de janela associado ao botão de barra de ferramentas. (Substitui CMFCToolBarButton::GetHwnd.)
CMFCToolBarDateTimeCtrl::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CMFCToolBarDateTimeCtrl::GetTime Obtém a hora selecionada de um controle seletor de data e hora e o coloca em uma estrutura SYSTEMTIME especificada.
CMFCToolBarDateTimeCtrl::GetTimeAll Retorna a hora selecionada do botão de controle seletor de hora que tem uma ID de comando especificada.
CMFCToolBarDateTimeCtrl::HaveHotBorder Determina se uma borda do botão é exibida quando um usuário seleciona o botão. (Substitui CMFCToolBarButton::HaveHotBorder.)
CMFCToolBarDateTimeCtrl::NotifyCommand Especifica se o botão processa a mensagem WM_COMMAND. (Substitui CMFCToolBarButton::NotifyCommand.)
CMFCToolBarDateTimeCtrl::OnAddToCustomizePage Chamado pela estrutura quando o botão é adicionado a uma caixa de diálogo Personalizar. (Substitui CMFCToolBarButton::OnAddToCustomizePage.)
CMFCToolBarDateTimeCtrl::OnCalculateSize Chamado pela estrutura para calcular o tamanho do botão para o contexto do dispositivo e o estado de encaixe especificados. (Substitui CMFCToolBarButton::OnCalculateSize.)
CMFCToolBarDateTimeCtrl::OnChangeParentWnd Chamado pela estrutura quando o botão é inserido em uma nova barra de ferramentas. (Substitui CMFCToolBarButton::OnChangeParentWnd.)
CMFCToolBarDateTimeCtrl::OnClick Chamado pela estrutura quando o usuário clica no controle. (Substitui CMFCToolBarButton::OnClick.)
CMFCToolBarDateTimeCtrl::OnCtlColor Chamado pela estrutura quando a barra de ferramentas pai manipula uma mensagem WM_CTLCOLOR. (Substitui CMFCToolBarButton::OnCtlColor.)
CMFCToolBarDateTimeCtrl::OnDraw Chamado pela estrutura para desenhar o botão usando os estilos e as opções especificados. (Substitui CMFCToolBarButton::OnDraw.)
CMFCToolBarDateTimeCtrl::OnDrawOnCustomizeList Chamado pela estrutura para desenhar o botão no painel Comandos da caixa de diálogo Personalizar. (Substitui CMFCToolBarButton::OnDrawOnCustomizeList.)
CMFCToolBarDateTimeCtrl::OnGlobalFontsChanged Chamado pela estrutura quando a fonte global foi alterada. (Substitui CMFCToolBarButton::OnGlobalFontsChanged.)
CMFCToolBarDateTimeCtrl::OnMove Chamado pela estrutura quando a barra de ferramentas pai se move. (Substitui CMFCToolBarButton::OnMove.)
CMFCToolBarDateTimeCtrl::OnShow Chamado pela estrutura quando o botão se torna visível ou invisível. (Substitui CMFCToolBarButton::OnShow.)
CMFCToolBarDateTimeCtrl::OnSize Chamado pela estrutura quando a barra de ferramentas pai muda de tamanho ou posição e essa alteração faz com que o botão mude de tamanho. (Substitui CMFCToolBarButton::OnSize.)
CMFCToolBarDateTimeCtrl::OnUpdateToolTip Chamado pela estrutura quando a barra de ferramentas pai atualiza o texto da dica de ferramenta. (Substitui CMFCToolBarButton::OnUpdateToolTip.)
CMFCToolBarDateTimeCtrl::Serialize Lê esse objeto em um arquivo ou grava-o em um arquivo de arquivos (substitui CMFCToolBarButton::Serialize.)
CMFCToolBarDateTimeCtrl::SetStyle Define o estilo do botão de barra de ferramentas. (Substitui CMFCToolBarButton::SetStyle.)
CMFCToolBarDateTimeCtrl::SetTime Define a hora e a data no controle seletor de hora.
CMFCToolBarDateTimeCtrl::SetTimeAll Define a hora e a data em todas as instâncias do controle seletor de hora que têm uma ID de comando especificada.

Comentários

Para obter um exemplo de como usar um controle seletor de data e hora, confira o projeto de exemplo ToolbarDateTimePicker. Para obter informações sobre como adicionar botões de controle às barras de ferramentas, confira Tutorial: como colocar controles nas barras de ferramentas.

Hierarquia de herança

CObject

CMFCToolBarButton

CMFCToolBarDateTimeCtrl

Requisitos

Cabeçalho: afxtoolbardatetimectrl.h

CMFCToolBarDateTimeCtrl::CanBeStretched

Especifica se um usuário pode alongar o botão durante a personalização.

virtual BOOL CanBeStretched() const;

Valor de retorno

Esse método retorna TRUE.

Comentários

Por padrão, a estrutura não permite que o usuário alongue um botão de barra de ferramentas durante a personalização. Esse método estende a implementação da classe base (CMFCToolBarButton::CanBeStretched), permitindo que o usuário alongue um botão de barra de ferramentas de data e hora durante a personalização.

CMFCToolBarDateTimeCtrl::CMFCToolBarDateTimeCtrl

Cria e inicializa um objeto CMFCToolBarDateTimeCtrl.

CMFCToolBarDateTimeCtrl(
    UINT uiID,
    int iImage,
    DWORD dwStyle=0,
    int iWidth=0);

Parâmetros

uiID
[entrada] A ID de controle.

iImage
[in] O índice da imagem no objeto CMFCToolBarImages da barra de ferramentas.

dwStyle
[in] O estilo da janela CMFCToolBarDateTimeCtrlImpl que é criada quando um usuário clica no botão.

iWidth
[in] A largura do controle, em pixels.

Comentários

Esse objeto é inicializado para a data e hora do sistema. O estilo de janela do objeto interno CMFCToolBarDateTimeCtrlImpl inclui o parâmetro dwStyle e os estilos WS_CHILD e WS_VISIBLE. Você não pode alterar esses estilos usando CMFCToolBarDateTimeCtrl::SetStyle. Use SetStyle para alterar o estilo do controle CMFCToolBarDateTimeCtrl.

Exemplo

O exemplo a seguir demonstra como construir um objeto da classe CMFCToolBarDateTimeCtrl. Esse snippet de código faz parte do exemplo do Seletor de Data e Hora da Barra de Ferramentas.

CMFCToolBarDateTimeCtrl dateButton(ID_DATE,
                                   GetCmdMgr()->GetCmdImage(ID_DATE, FALSE));

CMFCToolBarDateTimeCtrl::CopyFrom

Copia as propriedades de outro botão de barra de ferramentas para o botão atual.

virtual void CopyFrom(const CMFCToolBarButton& src);

Parâmetros

src
[in] Uma referência ao botão de origem do qual copiar.

Comentários

Chame esse método para copiar outro botão de barra de ferramentas para este botão de barra de ferramentas. src deve ser do tipo CMFCToolBarDateTimeCtrl.

CMFCToolBarDateTimeCtrl::ExportToMenuButton

Copia o texto do botão de barra de ferramentas para um menu.

virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;

Parâmetros

menuButton
[in] Uma referência ao botão de menu de destino.

Valor de retorno

Esse método retorna TRUE.

Comentários

Esse método substitui a implementação da classe base (CMFCToolBarButton::ExportToMenuButton), carregando o recurso de cadeia de caracteres associado à ID de comando do controle. Para obter mais informações sobre recursos de cadeia de caracteres, confira CStringT::LoadString.

CMFCToolBarDateTimeCtrl::GetByCmd

Recupera o primeiro objeto CMFCToolBarDateTimeCtrl no aplicativo que tem a ID de comando especificada.

static CMFCToolBarDateTimeCtrl* __stdcall GetByCmd(UINT uiCmd);

Parâmetros

uiCmd
[in] A ID de comando do botão a ser recuperado.

Valor de retorno

O primeiro objeto CMFCToolBarDateTimeCtrl no aplicativo que tem a ID de comando especificada ou NULL, se nenhum objeto CMFCToolBarDateTimeCtrl tiver a ID de comando especificada.

Comentários

Esse método de utilitário compartilhado é usado por métodos como CMFCToolBarDateTimeCtrl::SetTimeAll e CMFCToolBarDateTimeCtrl::GetTimeAll para definir ou obter a hora e a data de todas as instâncias do controle seletor de hora que têm uma ID de comando especificada.

CMFCToolBarDateTimeCtrl::GetDateTimeCtrl

Retorna um ponteiro para o controle seletor de data e hora.

CDateTimeCtrl* GetDateTimeCtrl() const;

Valor de retorno

Um ponteiro para o controle seletor de data e hora ou NULL, se o controle não existir.

Comentários

A classe CMFCToolBarDateTimeCtrl inicializa o membro de dados m_pWndDateTime, quando você insere um objeto CMFCToolBarDateTimeCtrl em uma barra de ferramentas.

CMFCToolBarDateTimeCtrl::GetHwnd

Recupera o identificador de janela associado ao botão de barra de ferramentas.

virtual HWND GetHwnd();

Valor de retorno

O identificador de janela associado ao botão de barra de ferramentas de data e hora.

Comentários

Esse método substitui o método CMFCToolBarButton::GetHwnd.

CMFCToolBarDateTimeCtrl::GetTime

Obtém a hora selecionada de um controle seletor de data e hora associado e o coloca em uma estrutura SYSTEMTIME especificada

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

Parâmetros

timeDest
[out] Na primeira sobrecarga, um objeto Classe COleDateTime que receberá as informações de hora do sistema. Na segunda sobrecarga, um objeto CTime que receberá as informações de hora do sistema.

pTimeDest
[out] Um ponteiro para a estrutura SYSTEMTIME para receber as informações de hora do sistema. Não pode ser NULL.

Valor de retorno

Na primeira sobrecarga, um valor diferente de zero, se o tempo for gravado com êxito no objeto classe COleDateTime. Caso contrário, 0. Na segunda e na terceira sobrecarga, o valor retornado é um DWORD igual ao membro dwFlag definido na estrutura NMDATETIMECHANGE.

Comentários

O método define o dwFlags do membro da estrutura NMDATETIMECHANGE para indicar se o seletor de data e hora foi definido como data e hora. Se o valor for igual a GDT_NONE, o controle será definido como status no date e usará o estilo DTS_SHOWNONE. Se o valor retornado for igual a GDT_VALID, a hora do sistema será armazenada com êxito no local de destino.

CMFCToolBarDateTimeCtrl::GetTimeAll

Retorna a hora selecionada pelo usuário do botão de controle seletor de hora que tem uma ID de comando especificada.

static BOOL GetTimeAll(
    UINT uiCmd,
    COleDateTime& timeDest);

static DWORD GetTimeAll(
    UINT uiCmd,
    CTime& timeDest);

static DWORD GetTimeAll(
    UINT uiCmd,
    LPSYSTEMTIME pTimeDest);

Parâmetros

uiCmd
[in] Especifica a ID de comando de um botão de barra de ferramentas.

timeDest
[out] Na primeira sobrecarga, um objeto Classe COleDateTime que receberá as informações de hora do sistema. Na segunda sobrecarga, um objeto CTime que receberá as informações de hora do sistema.

pTimeDest
[out] Um ponteiro para a estrutura SYSTEMTIME para receber as informações de hora do sistema. Não pode ser NULL.

Valor de retorno

Se a estrutura não conseguir encontrar um botão de barra de ferramentas que corresponda à ID de comando uiCmd, o valor retornado será zero na primeira sobrecarga e GDT_NONE nas outras sobrecargas. Se o botão de barra de ferramentas for encontrado, o valor retornado será igual ao valor retornado de uma chamada para CMFCToolBarDateTimeCtrl::GetTime nesse botão. Um valor retornado de zero ou GDT_NONE pode ocorrer quando o botão é encontrado, o que indica que a chamada GetTime não retornou uma data válida por algum outro motivo.

Comentários

Esse método procura um botão de barra de ferramentas que tem a ID de comando especificada e chama o método CMFCToolBarDateTimeCtrl::GetTime nesse botão.

CMFCToolBarDateTimeCtrl::HaveHotBorder

Determina se uma borda do botão é exibida quando um usuário seleciona o botão.

virtual BOOL HaveHotBorder() const;

Valor de retorno

Um valor diferente de zero, se um botão exibir a borda quando selecionado. Caso contrário, 0.

Comentários

Esse método retornará um valor diferente de zero, se o controle estiver visível.

CMFCToolBarDateTimeCtrl::NotifyCommand

Especifica se o botão processa a mensagem WM_COMMAND.

virtual BOOL NotifyCommand(int iNotifyCode);

Parâmetros

iNotifyCode
[in] A mensagem de notificação associada ao comando.

Valor de retorno

TRUE se o botão processar a mensagem WM_COMMAND ou FALSE para indicar que a mensagem deve ser manipulada pela barra de ferramentas pai.

Comentários

A estrutura chama esse método quando está prestes a enviar uma mensagem WM_COMMAND para a janela pai.

Esse método estende a implementação da classe base (CMFCToolBarButton::NotifyCommand) processando a notificação DTN_DATETIMECHANGE. Ele atualiza o status de hora interno e atualiza a propriedade de hora de todos os objetos CMFCToolBarDateTimeCtrl com a mesma ID de comando.

CMFCToolBarDateTimeCtrl::OnAddToCustomizePage

Chamado pela estrutura quando o botão é adicionado a uma caixa de diálogo Personalizar.

virtual void OnAddToCustomizePage();

Comentários

Esse método estende a implementação da classe base, CMFCToolBarButton::OnAddToCustomizePage, copiando as propriedades do primeiro controle de data e hora em qualquer barra de ferramentas que tenha a mesma ID de comando que este objeto. Esse método não fará nada, se nenhuma barra de ferramentas tiver um controle de data e hora que tenha a mesma ID de comando que este objeto.

Para mais informações sobre a caixa de diálogo Personalizar, confira Classe CMFCToolBarsCustomizeDialog.

CMFCToolBarDateTimeCtrl::OnChangeParentWnd

Chamado pela estrutura quando o botão é inserido em uma nova barra de ferramentas.

virtual void OnChangeParentWnd(CWnd* pWndParent);

Parâmetros

pWndParent
[in] A nova janela pai.

Comentários

Esse método substitui a implementação da classe base (CMFCToolBarButton::OnChangeParentWnd) recriando o objeto CMFCToolBarDateTimeCtrlImpl interno.

CMFCToolBarDateTimeCtrl::OnClick

Chamado pela estrutura quando o usuário clica no controle.

virtual BOOL OnClick(
    CWnd* pWnd,
    BOOL bDelay = TRUE);

Parâmetros

pWnd
[in] Não é usado.

bDelay
[in] Não é usado.

Valor de retorno

Um valor diferente de zero, se o botão processar a mensagem de clique. Caso contrário, 0.

Comentários

Esse método substitui a implementação da classe base, CMFCToolBarButton::OnClick, retornando um valor diferente de zero se o objeto CMFCToolBarDateTimeCtrlImpl interno está visível.

CMFCToolBarDateTimeCtrl::OnCtlColor

Chamado pela estrutura quando a barra de ferramentas pai manipula uma mensagem WM_CTLCOLOR.

virtual HBRUSH OnCtlColor(
    CDC* pDC,
    UINT nCtlColor);

Parâmetros

pDC
[in] O contexto do dispositivo que exibe o botão.

nCtlColor
[in] Não é usado.

Valor de retorno

Um identificador para o pincel global que a estrutura usa para pintar a tela de fundo do botão.

Comentários

Esse método substitui a implementação da classe base, CMFCToolBarButton::OnCtlColor, definindo as cores de texto e tela de fundo do contexto do dispositivo fornecido para as cores globais de texto e tela de fundo, respectivamente.

Para mais informações sobre opções globais disponíveis para seu aplicativo, confira Estrutura AFX_GLOBAL_DATA.

CMFCToolBarDateTimeCtrl::OnGlobalFontsChanged

Chamado pela estrutura quando a fonte global foi alterada.

virtual void OnGlobalFontsChanged();

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnGlobalFontsChanged) alterando a fonte do controle para aquela da fonte global.

Para mais informações sobre opções globais disponíveis para seu aplicativo, confira Estrutura AFX_GLOBAL_DATA.

CMFCToolBarDateTimeCtrl::OnMove

Chamado pela estrutura quando a barra de ferramentas pai se move.

virtual void OnMove();

Comentários

Esse método substitui a implementação de classe padrão (CMFCToolBarButton::OnMove) atualizando a posição do objeto CMFCToolBarDateTimeCtrlImpl interno.

CMFCToolBarDateTimeCtrl::OnShow

Chamado pela estrutura quando o botão se torna visível ou invisível.

virtual void OnShow(BOOL bShow);

Parâmetros

bShow
[in] Especifica se o botão está visível. Se esse parâmetro for TRUE, o botão ficará visível. Caso contrário, o botão não ficará visível.

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnShow) exibindo o botão se bShow é TRUE. Caso contrário, esse método oculta o botão.

CMFCToolBarDateTimeCtrl::OnSize

Chamado pela estrutura quando a barra de ferramentas pai muda de tamanho ou posição e essa alteração faz com que o botão mude de tamanho.

virtual void OnSize(int iSize);

Parâmetros

iSize
[in] A nova largura do botão, em pixels.

Comentários

Esse método substitui a implementação de classe padrão (CMFCToolBarButton::OnSize), atualizando o tamanho e a posição do objeto CMFCToolBarDateTimeCtrlImpl interno.

CMFCToolBarDateTimeCtrl::OnUpdateToolTip

Chamado pela estrutura quando a barra de ferramentas pai atualiza o texto da dica de ferramenta.

virtual BOOL OnUpdateToolTip(
    CWnd* pWndParent,
    int iButtonIndex,
    CToolTipCtrl& wndToolTip,
    CString& str);

Parâmetros

pWndParent
[in] A janela pai.

iButtonIndex
[in] O índice baseado em zero do botão na coleção de botões pai.

wndToolTip
[in] O controle que exibe o texto da dica de ferramenta.

str
[out] Um objeto CString que recebe o texto da dica de ferramenta atualizado.

Valor de retorno

Um valor diferente de zero, se o método atualizar o texto de dica de ferramenta. Caso contrário, 0.

Comentários

Esse método estende a implementação da classe base (CMFCToolBarButton::OnUpdateToolTip) exibindo o texto da dica de ferramenta associado ao botão. Se o botão não estiver encaixado horizontalmente, esse método não fará nada e retornará FALSE.

CMFCToolBarDateTimeCtrl::SetTime

Define a hora e a data no controle seletor de hora.

BOOL SetTime(const COleDateTime& timeNew);
BOOL SetTime(const CTime* timeNew);
BOOL SetTime(LPSYSTEMTIME pTimeNew=NULL);

Parâmetros

timeNew
[in] Na primeira versão, uma referência a um objeto classe COleDateTime que contém a hora para a qual o controle será definido. Na segunda versão, um ponteiro para um objeto CTime que contém a hora para a qual o controle será definido.

pTimeNew
[in] Um ponteiro para a estrutura SYSTEMTIME que contém a hora para a qual o controle será definido.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Define a hora em um controle seletor de data e hora, chamando CDateTimeCtrl::SetTime.

CMFCToolBarDateTimeCtrl::SetTimeAll

Define a hora e a data em todas as instâncias do controle seletor de hora que têm uma ID de comando especificada.

static BOOL SetTimeAll(
    UINT uiCmd,
    const COleDateTime& timeNew);

static BOOL SetTimeAll(
    UINT uiCmd,
    const CTime* pTimeNew);

static BOOL SetTimeAll(
    UINT uiCmd,
    LPSYSTEMTIME pTimeNew=NULL);

Parâmetros

uiCmd
[in] Especifica a ID de comando de um botão de barra de ferramentas.

timeNew
[in] Na primeira versão, um objeto classe COleDateTime que contém a hora para a qual o controle será definido. Na segunda versão, um ponteiro para um objeto CTime que contém a hora para a qual o controle será definido.

pTimeNew
[in] Um ponteiro para a estrutura SYSTEMTIME que contém a hora para a qual o controle será definido.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

Procura um botão de barra de ferramentas com a ID de comando especificada e define a hora em um controle seletor de data e hora, chamando CMFCToolBarDateTimeCtrl::SetTime.

Confira também

Gráfico da hierarquia
Classes
Classe CMFCToolBarButton
Instruções passo a passo: colocando controles em barras de ferramentas