22

wm_Timer 1. Timer 설정 함수 SetTimer ( , 시간 , ); 2. Timer 해제 함수 KillTimer ( TimerID );

Embed Size (px)

DESCRIPTION

wm_Timer 1. Timer 설정 함수 SetTimer ( , 시간 , ); 2. Timer 해제 함수 KillTimer ( TimerID );. # 프로그램이 시작될 때 이벤트 wm_CREATE # 프로그램이 끝날 때 이벤트 wm_DESTROY. WM_COMMAND : 메뉴 , 툴바 , 엑셀레이터 키등을 처리. Dialog 프로그램에서 사용. 이벤트가 발생했을 때 해당 이벤트에 맞는 함수를 ( ex.OnMouseMove ()) 호출한다. 내부적으로 존재하고 , 실제 보이는 부분은 - PowerPoint PPT Presentation

Citation preview

Page 1: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 2: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

wm_Timer1. Timer 설정 함수

SetTimer( , 시간 , );2. Timer 해제 함수

KillTimer( TimerID );

# 프로그램이 시작될 때 이벤트 wm_CREATE

# 프로그램이 끝날 때 이벤트 wm_DESTROY

Page 3: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 4: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

WM_COMMAND : 메뉴 , 툴바 , 엑셀레이터 키등을 처리

Dialog 프로그램에서 사용

Page 5: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

이벤트가 발생했을 때 해당 이벤트에 맞는 함수를 (ex.OnMouseMove()) 호출한다 .

내부적으로 존재하고 , 실제 보이는 부분은BEGIN_MESSAGE_MAP~END_MESSAGE_MAP

사이에 매크로로 존재

Page 6: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

자동

실제 구현

Page 7: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

헤더파일에 존재

Page 8: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

1 회 발생

OnDraw() 함수를 호출하기 위해 Invalidate() 를 사용하면 WM_PAINT 가 호출되고OnPaint() 핸들러 함수가 실행되면서 OnDraw() 함수가 불려짐 .

SetTimer() 는 WM_CREATE 에 , KillTimer() 는 WM_DESTROY 에 주로 구현해 준다 .

Page 9: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

AFX : MFC 개발 Team 이름앞에 afx 가 붙은 함수는 전역 함수

화면에 출력할 메세지

+ 아이콘

도움말 호출 : 통상적으로 F1 키로 정해져 있기 때문에 주로 생략 한다

느낌표 (!) 아이콘

확인 박스

Or 즉 ‘ | ‘ 로 연결

Page 10: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

메시지 박스의 버튼 종류

두번째 인자 값

반환 값이 있기 때문에 AfxMessageBox() 를 구현하고 if 문으로 묶어서 어떤 버튼을 클릭했는지 판별Ex) if( AfxMessageBox( _T(“ 저장하시겠습니까 ?”), MB_YESNO | MB_ICONQUESTION ) == IDYES ) { }이런식으로 사용한다 .

Page 11: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

메시지 박스의 아이콘 종류

두번째 인자 값

Ex) 예 , 아니오 버튼 + 물음표 아이콘AfxMessageBox( _T(“ 저장하시겠습니까 ?”), MB_YESNO | MB_ICONQUESTION );

Page 12: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 13: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 14: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 15: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

마우스 가운데 버튼이 눌렸을 때

Page 16: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

왼쪽 버튼이 같이 눌렸거나 , 오른쪽 버튼이 같이 눌렸을 때

함께 눌렸으면 1, 함께 눌리지 않았으면 0

Page 17: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

윈도우의 시간 , 날짜를가져옴

Page 18: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 19: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );

WM_TIMER -> OnTimer()

# 타이머 설정SetTimer( 1(Timer ID), 1000( 시간 .1000=1 초 ), NULL(null 이면 WM_TIMER 이벤트 발생 ) );// 1000 즉 , 1 초마다 NULL 즉 , WM_TIMER 를 호출한다 .// 시간 설정은 SetTimer() 에서 , 일어나는 일은 OnTimer() 함수 안에 구현하면 된다 .

# 타이머 해제KillTimer( 1(TimerID) );

#CTime 사용법CTime time;올바른 예 ) time = Ctime::GetCurrentTime(); 틀린 예 ) time. GetCurrentTime();// 정적 멤버 함수 이기때문에 사용하는 방법이 조금 다름

Page 20: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 21: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );
Page 22: wm_Timer 1. Timer  설정 함수 SetTimer (  , 시간 ,  ); 2. Timer  해제 함수 KillTimer (  TimerID  );