SDK (Software Development Kit) : 소프트웨어 개발 도구
API (Application Programming Interface) : 프로그래밍을 위해 제공되는 C타입의 함수들의 집합.
MFC (Microsoft Foundation Class) : 다양한 API를 여러 개의 C++ 클래스로 작성한 클래스의 집합.-클래스 라이브러리
API
장점
- 로우레벨(Low Level) 의 프로그래밍 가능
- 우수한 성능
- 윈도우 동작원리 이해
단점
- 배우기가 어렵고 시간이 많이 소요.
- 컴포넌트 프로그래밍 곤란.
(컴포넌트 프로그래밍 :: 클래스화 시킨 프로그래밍)
MFC
장점
- API 함수 사용가능.
- RAD 툴과 같은 비주얼 기능 제공
- 컴포넌트 프로그래밍에 적합
단점
- 배우기가 어렵다
* 가장많이 사용된다는 특성은 기본적인 인터페이스 제작시에만 적용.
윈도우(창)
- 직사각형으로 표현되는 화면의 일부분
cf) 윈도우 : 창 / 윈도우즈 : OS
Ex) 그림판에서도
메인 윈도우 - 제목
메뉴바 윈도우 - 메뉴
툴바 윈도우 - 기능
스크롤바 윈도우 - 스크롤바
버튼 윈도우 - 버튼
모두 윈도우 임.
윈도우즈 프로그램
- Windows (OS) 에서 작성되고 실행되는 프로그램
- Event Driven 방식 :: Ex) 키보드 X키 입력, 마우스 오른쪽 버튼 눌림 등등...
- 프로그래머가 작성한 순서대로 진행되지않고 Event에 따라 프로그램이 진행 됨.
이벤트(Event)
- 윈도우 운영체제는 이벤트가 발생하면 해당 Message를 발생하여 응용프로그램에 보내게 된다.(메세지 구동 시스템)
- 이벤트 : 마우스 클릭, 이동, 키보드의 스트로크.
프로그램의 실행 과정
1. 마우스/키보드 이벤트 발생.
2. 메세지 형태로 변환하여 시스템 큐(System Queue)에 저장.
3. OS가 어떤 프로그램의 메시지가 있는지 검사
4. OS가 메세지를 스레드 메시지 큐(Message Queue)에 전달
5. 윈도우 프로시저 호출 지시 후 메시지 제거.
(큐에 저장된 순서대로 호출. 사용 후 메시지 제거)
:: 코드 ::