본문 바로가기
Delphi Tip/Windows

델파이 WM_USER 메시지

by MonoSoft 2021. 8. 10.
728x90
반응형

델파이 WM_USER 메시지

 

윈도우 시스템은, 메시지구동 시스템이죠. 모든 이벤트는 메세지의 

발생에 의해서 처리됩니다.

 

리스트박스 윈도우, 콤보박스윈도우등

모든 이런 각각의 윈도우들은 내부적 

메시지처리에의해 원하는 동작을 하게 되는데,

이런 메시지외에 사용자 

정의 메시지가 필요할때가 많죠.

예를들어, 콤보에 값이 변경될때, 부모에게 뿐

아니라, 다른곳에도 알려줄 필요가 있거나 할때요. 

그러면, 메시지의 값을 아무렇게나 정의해서 사용할수 없죠.

 

#define WM_MY_TEST 100 

처럼, 이런식으로 선언한다면,

이미 100이라는 값은 시스템이 내부적으로 

예약해서 사용하는 메시지 상수일 수가 있습니다.

 

그래서, 사용자가 사용해도 되는 구역을 만들어뒀는데 그게 

0x400 값부터 , 0x7FFF 까지 입니다.

여기서 0x400 이 WM_USER 로 선언되있죠

 

참고로, ---------------------------------------------

0 - 0x400 : 시스템 예약

0x401 - 0x7FFF : WM_USER메세지용으로 사용하게 만든 구역

0x8000 - 0xBFFF : 애플리케이션 전체 메세지 호환 구역

기타...

-----------------------------------------------------

 

우선 다른 구역까지 생각하면 머리아프니까

우선은 이렇다는것만 알아두시면 되겠습니다.

그리고, WM_USER+1에서 1을 더하는것은

WM_USER가 0x400이니까 이 값까지가

시스템이 사용하니까, 1을 더해줘서

0x401 - 0x7FFF까지가 맘대로 사용해도

되는거죠.

 

 

728x90
반응형

댓글