윈도우는 메세지 처리 방식이라고 한다,
DOS(윈도우 이전의 OS를 말한다) 시대에는 사용자의 입력(마우스 움직임,클릭,키보드 입력등)을
모두 프로그램내에서 처리해주어야 했다.
그러나 윈도우에서는 이런 입력 부분을 OS가 맡아서 처리하개 된다.
OS는 이 입력을 각 프로그램에 전달해 준다
이때 사용되는 것이 메세지란 것으로 전달된다.
메세지는 이미 시스템에 정의된 값이다.
각 프로그램은 이 메세지를 받아 처리하느냐 처리하지 않느냐에 따라
입력에 반응하는 또는 반응하지 않는 프로그램이 작성된다.
따라서 윈도우를 메세지 처리 방식이라고도 한다.
입력 - 윈도우 OS- 각 프로그램와 같이 처리된다.
입출력기기는 하드웨어 기기마다 참 다양하다,
입출력기기와 윈도우 OS 사이에 드라이버라는 프로그램이
사용되어 하드웨어 사양은 다 다를지라고 윈도우 OS에는 같은
메세지,기능이 적용될수록 있도록 드라이버 프로그램이 중계 역할을
해준다.
OS에는 메세지 큐라는 것이 존재한다.
이 메세지큐는 입력이나 기타 장치에서 발생된 메세지가 우선 쌓인다.
메세지 큐에는 또 시스템 메세지큐가 있고 각 프로그램 메세지 큐가 존잰한다.(OS에 존재하는)
각 프로그램에서는 메세지 루프에서 프로그램 메세지 큐의 메세지를 하나씩 가저와 번역 및
처리 요청을 OS에게 보내면 OS는 해당 윈도우의 메세지 처리 프로시저에 그 메세지를 보낸다.
윈도우 생성관정
- 윈도우 클래스 제작:
윈도우에 기본 윈도우 프로시저(메세지 처리 프로시저)로 사용한 프로시저 주소를 지정한다.클래스명
- 등록: 시스템에 윈도우 클래스를 등록한다
- 생성: 등록한 클래스를 사용 윈도우를 생성한다.
- 기타: 생성한 윈도우를 가지고 여러 작업을 처리한다
- 메세지 루프: OS의 프로그램 메세지 큐에서 메세지를 하나씩 가저와 번역한 다음 OS에게 메세지에 해당하는 윈도우에
메세지를 보내것을 요청하는 반복 루프
'C,C++' 카테고리의 다른 글
공유메모리 영역 설정 (0) | 2013.03.10 |
---|---|
string(UTF-8)을 유니코드로 변환하여 다시 String 형으로 (0) | 2013.01.16 |
예외처리 (0) | 2012.11.24 |
템플릿 (0) | 2012.11.22 |
연산자 오버로딩 (0) | 2012.10.28 |