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