Compartilhar via


CWnd::SetTimer

Instala um timer do sistema.

UINT_PTR SetTimer(
   UINT_PTR nIDEvent,
   UINT nElapse,
   void (CALLBACK* lpfnTimer
)(HWND,
   UINT,
   UINT_PTR,
   DWORD
) 
);

Parâmetros

  • nIDEvent
    Especifica um identificador de temporizador diferentes de zero.

  • nElapse
    Especifica o valor de time limite em milissegundos.

  • lpfnTimer
    Especifica o endereço do aplicativo fornecido TimerProc função de retorno de chamada que processa o WM_TIMER mensagens. Se esse parâmetro for NULO, the WM_TIMER mensagens colocadas na fila de mensagens do aplicativo e manipuladas pela CWnd objeto.

Valor de retorno

O identificador de timer do timer novo se a função for bem-sucedida.Um aplicativo passa esse valor para o KillTimerfunção de membro para finalizar o timer.Diferente de zero se bem-sucedida; caso contrário, 0.

Comentários

Um valor de time limite é especificado e sempre que ocorre um time limite, o sistema lançará um WM_TIMER mensagem para o aplicativo de instalação da fila de mensagens ou passa a mensagem para um aplicativo definido TimerProc função de retorno de chamada .

The lpfnTimer função de retorno de chamada não precisa ser nomeada TimerProc, mas devem ser definidos da seguinte maneira:

void CALLBACK EXPORT TimerProc(

HWND hWnd, // handle of CWnd that called SetTimer

UINT nMsg, // WM_TIMER

UINT nIDEvent // timer identification

DWORD dwTime // system time

);

Exemplo

Este exemplo usa CWnd::SetTimer, CWnd::OnTimer, and CWnd::KillTimer para lidar com WM_TIMER mensagens. Um temporizador é configurado para enviar um WM_TIMER mensagem para a cada 2 segundos na janela do quadro principal OnStartTimer. OnStopTimer interromperá o timer chamando CWnd::KillTimer. OnTimer foi definida para lidar com WM_TIMER mensagens para a janela do quadro principal. Neste exemplo, alto-falante do PC será bipe a cada 2 segundos.

void CMainFrame::OnStartTimer() 
{
   m_nTimer = SetTimer(1, 2000, 0);
}

void CMainFrame::OnStopTimer() 
{
   KillTimer(m_nTimer);   
}

void CMainFrame::OnTimer(UINT nIDEvent) 
{
   MessageBeep(0xFFFFFFFF);   // Beep

   // Call base class handler.
   CMDIFrameWnd::OnTimer(nIDEvent);
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CWnd

Gráfico de hierarquia

WM_TIMER

CWnd::KillTimer

SetTimer

Outros recursos

Membros CWnd