
1. API & MFC
1-1. 인터페이스
- 인터페이스는 서로 다른 두 개의 시스템이나 장치 사이에서 정보나 신호를 주고 받는 접점, 경계면.
- 정보의 교환은 하드웨어, 소프트웨어, 주변장치, 사용자 등
- UI(User Interface), GUI(Graphic User Interface)등.
1-2. API
- API(Application programming interface)는 컴퓨터 프로그램이 서로 통신하는 방법.
- API는 어플리케이션을 만들기 위한 개발자와 프로그램 사이의 접점.
- 운영체제, 프로그래밍 언어에서 제공하는 프로그램을 개발자가 사용할 수 있도록 역할.
- Windows API는 SDK(Software Development Kit)을 이용해 프로그램을 작성할 수 있도록 만든 API.
1-3. MFC
- MFC(Microsoft Foundation Class Library)는 Windows API의 C++ 버전.
- 클래스로 구현되어 API보다 객체지향적으로 프로그래밍 가능하도록 설계.
- 객체가 없어지면(메모리 할당 끝나면) 자동으로 핸들을 해제하는 것이 특징.
2. Windows Programing
윈도우 프로그래밍의 동작의 구성 요소는 다음의 4가지와 같다.
- 메세지 (Message)
- 메세지 큐 (Message Queue)
- 메세지 루프 (Message Loop)
- 윈도우 프로시저 (Window Procedure)
2-1. 메시지(Message)
- 메시지는 윈도우에 발생하는 모든 이벤트(사건)을 의미.
- 키보드 입력, 마우스 클릭, 이동 등 사소한 이벤트를 메시지로 관리.
- 위와 같은 이벤트들은 윈도우 내에 정의되어 있음.
2-2. 메시지 큐(Message Queue)
- 운영체제가 만들어낸 메시지는 메시지 큐에 저장.
- FIFO 구조로 선입 선출 처리.
- 메시지들은 매크로 상수로 변환되어 큐에 저장.
2-3. 메시지 루프(Message Loop)
- 메시지 큐의 메시지를 읽어, 처리하기 위해 윈도우 프로시저로 전송하는 반복문.
- 메시지에 따라 알맞은 형태로 변환 후 윈도우 프로시저로 전송.
2-4. 윈도우 프로시저(Window Procedure)
- 메시지 루프로부터 변환된 메시지를 수신.
- 메시지를 사전 정의된 내용에 따라 처리하는 함수.
- 개발자는 프로시저의 메시지 처리방식을 정의 해 프로그램을 개발.
3. GDI
- Windows API에서 제공하는 Graphic Device Interface.
- GDI는 디바이스에 상관없이 주어진 내용을 출력 할 수 있는 함수들을 의미.
- 함수와 디바이스 드라이브가 해상도, 크기 등을 조절 해 사용자의 편의성 제공.