타이머를 사용해서 갱신(WM_KICKIDLE 메시지도 사용해봤지만 호출되지 않을때가 있음)
1. 타이머 메시지 핸들러 추가
추가된 타이머 핸들러에 로직 추가
void CCrossPlatformTestDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CDialogEx::OnTimer(nIDEvent);
}
3. Dialog의 OnInitDialog 에서 타이머 설정
BOOL CCrossPlatformTestDlg::OnInitDialog()
{
...
// 1번 타이머로 대략 30프레임 호출
SetTimer(1, 1000 / 30, nullptr);
return TRUE;
}
4. 다이얼로그가 파괴되는 시점에 타이머를 제거
WM_DESTROY 핸들러 추가
추가된 OnDestory에서 KillTimer 호출
void CCrossPlatformTestDlg::OnDestroy()
{
CDialogEx::OnDestroy();
// TODO: 여기에 메시지 처리기 코드를 추가합니다.
// 1번 타이머 제거
KillTimer(1);
}
'MFC' 카테고리의 다른 글
[MFC] CString 문자열 파싱 (0) | 2025.03.02 |
---|---|
[MFC] [문제 해결] 미리 컴파일된 헤더를 찾는 동안 예기지 않은 파일의 끝이 나타났습니다 ... (0) | 2025.03.02 |
[MFC] 다이얼로그 기반 프로젝트에서 Enter, Esc로 종료되지 않도록 처리 (0) | 2025.03.02 |
[MFC] Edit Control 사용 (0) | 2025.03.02 |
[MFC] MFC 추가 설치 (0) | 2024.05.04 |