Windows 프로그래밍

자신만의 Window를 사용하려면 자신만의 'Window Class'를 만들자

최문경 블로그 2020. 5. 7. 19:24
 

김성엽의 Windows 프로그래밍 이야기

기본적으로 Windows 프로그래밍을 배운다는 뜻은 Win32 API를 사용한 응용 프로그램을 만드는 방법에 ...

blog.naver.com

김성엽님의 Windows 프로그래밍 이야기를 보고 정리한 글입니다.

 

 

'Window Class'에 대하여~

 

'Window Class'에 대하여~

: Win32 프로그래밍 관련 전체 목차http://blog.naver.com/tipsware/221059977193이 글은 C++ 언어의 cla...

blog.naver.com

Windows 운영체제는 멀티태스킹을 지원하기 때문에 동시에 여러 개의 프로그램을 실행할 수 있다. 때문에 운영체제 입장에서는 중복된 데이터를 줄이기 위해 많은 고민을 했을 것이다.

 

Window Procedure는 Window에서 어떤 메시지가 발생했을 때 그 메시지를 어떻게 처리할 것인지를 정의한 함수이다. 그래서, 서로 다른 프로그램에서 동일한 작업을 하는 Window가 있다면 그 Window를 위한 Window Procedure가 중복될 수 있다는 것이다.

 

결국, Windows 운영체제는 프로그램 단위가 아닌 Window 단위로 실행 명령어 중복을 줄일 수 있는 방법. 즉, Window Procedure를 공유하는 개념을 만들었는데 이것이 Window Class이다.

 

Window Class를 구성하는 정보들은 김성엽님의 블로그에 가서 보도록 하자.

 

 

 

 

Windows 운영체제의 메시지 시스템

 

Windows 운영체제의 메시지 시스템

: Windows 데스크톱 응용 프로그래밍 관련 전체 목차http://blog.naver.com/tipsware/221059977193이 글은...

blog.naver.com

키보드나 마우스는 운영체제가 관리하는 시스템 자원이다. 그래서 Window 영역을 클릭해도 그 사실을 Windows 운영체제만이 알 수 있다. 따라서 그 사실을 해당 Window를 소유한 응용 프로그램에게 알려야 하는데 그 상활을 알려주기 위해 보내는 메시지가 Window Message이다.

 

그리고 Window Message는 머리글자를 접두어로 사용하는 WM_XXXX 형식의 값으로 치환되어 있다.

 

예를 들어, 특정 Window 영역에 마우스 왼쪽 버튼이 클릭되었다면 아래와 같은 메시지가 해당 Window에 전달된다.

WM_LBUTTONDOWN