IT잡다/MFC

MFC(1)

leeyk2121 2025. 1. 13. 22:09

윈도우에서만 실행되는 응용 프로그램<-MFC or Win 32 API로 제작해야한다.

Message Driven 방식을 채택하고 있다.

Message Driven

1. Event 대기

사용자가 Human Input Device(HID)로 발생시킨다. (EX, 마우스, 키보드 등등)

이런 하드웨어 장치를 구경하면 운영체제가 하나의 이벤트로 인식하고 대기시킨다.

2. Event 수신

OS가 Event 수신해

3. Message 발생

OS가 거기에 대응하는 메시지( 부호가 없는 정수 )로 변환시켜준다.

4. Message를 수신해야할 Window 처리기(함수) 검색

운영체제가 해당 처리기 함수를 CallBack 한다(중요)

함수를 만들어서 등록을 해준다.

그러면 등록된 함수가 적정한 시점 즉 어떤 메시지가 불렸을 때 알아서 함수가 불러집니다.

5. 메시지 처리

함수가 호출된다! 그러면 코드가 실행된다!

코드가 끝나면 Event 대기로 돌아가면서 해당 루프를 무한 반복한다. 

이를 Message Loop라고 한다. 

예를 들어 응답없음 창이 떴다고 하자. OS가 어떤 이벤트가 났길래 Message로 만들어서 처리기를 검색해서 Callback했는데 return을 안한다? 이를 응답없음이라고 판단한다!

 

외우자!!!

모든 GUI 기반 어플리케이션은 이와 유사한 방식을 채택한다.

 

[출처]https://www.youtube.com/watch?v=ZUGbkZVXMA4&list=PLXvgR_grOs1CyJDnWeUTqbmKG1VFQM72e