[MFC] WM_TIMER 예제
// Message Map
BEGIN_MESSAGE_MAP(CDlgDlg, CDialog)
...
ON_WM_TIMER()
END_MESSAGE_MAP()
...
// Timer ID constants.
const UINT ID_TIMER_ONE = 0x1001;
const UINT ID_TIMER_TWO = 0x1000;
// Start the timers.
void CDlgDlg::StartTimer()
{
// Set timer for Minutes.
SetTimer( ID_TIMER_ONE, 60 * 1000, 0 );
// Set timer for Seconds.
SetTimer( ID_TIMER_TWO, 1000, 0 );
}
// Stop the timers.
void CDlgDlg::StopTimer()
{
// Stop both timers.
KillTimer( ID_TIMER_ONE );
KillTimer( ID_TIMER_TWO );
}
// Timer Handler.
void CDlgDlg::OnTimer( UINT nIDEvent )
{
// Per minute timer ticked.
if( nIDEvent == ID_TIMER_ONE )
{
// Do your minute based tasks here.
}
// Per minute timer ticked.
if( nIDEvent == ID_TIMER_TWO )
{
// Do your seconds based tasks here.
}
}
위의 방법외에도 다른 방법이 있다.
UINT SetTimer(
UINT nIDEvent,
UINT nElapse,
void ( CALLBACK* lpfnTimer )(HWND, UINT, UINT, DWORD) = NULL
) throw();
void CALLBACK TimerProc(HWND hWnd, UINT nIDEvent, UINT nElapse, DWORD dwTime)
{
CWnd *pWnd = AfxGetMainWnd();
CTestProgDlg *dlg = (CTestProgDlg *)pWnd;
dlg->ShowWindow(SW_SHOW);
}
'IT-개발,DB' 카테고리의 다른 글
[개발/VC++] ShellExecuteEx, CreateProcess, 연결된 프로그램, 디폴트 브라우저 (0) | 2011.03.31 |
---|---|
[개발/VC++] 리소스 DLL 만들기 (0) | 2011.03.30 |
[개발/MFC] UTF8로 파일저장하기 (0) | 2011.03.22 |
[개발/VC++] 응용 프로그램 구성이 올바르지 않기 때문에 ... (0) | 2011.03.21 |
[개발/MFC] 스트링 형변환 (0) | 2011.03.19 |
댓글