관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

WM_USER 본문

API 관련/Win32 API 함수

WM_USER

님투 2007. 11. 9. 01:10
반응형

WM_USER

WM_USER 메세지 코드는, 어플리케이션 정의의 메세지를 정의하는데 사용됩니다.통상, 어플리케이션 정의의 메세지를 (WM_USER + X) 의 형태로 정의합니다.

#define  WM_USER         0x0400

해설

메세지 코드에는 이하의 다섯 개의 범위가 있어, 각각 역할이 다릅니다.

범위 의미
0 ~ (WM_USER - 1)

시스템이 사용하기 위해서 예약되고 있는 메세지입니다.

WM_USER ~ 0x7FFF

프라이빗 윈도우 클래스가 사용하는데 사용할 수 있는 정수 메세지입니다.

WM_APP (0x8000) ~ 0xBFFF

어플리케이션이 사용하는데 사용할 수 있는 메세지입니다.

0xC000 ~ 0xFFFF

RegisterWindowMessage 함수에 의해서 정의되는, 어플리케이션이 사용하는데 사용할 수 있는 문자열 메세지입니다.

0x10000 ~

예약되고 있습니다.

0 ~ (WM_USER - 1) 의 범위의 메세지는, 시스템에 의해서 정의되고 있습니다.이 범위 중(안)에서 명시적으로 정의되어 있지 않은 값은 향후의 확장을 위해서 예약되고 있습니다.

WM_USER ~ 0x7FFF 의 범위의 메세지는, 프라이빗 윈도우 클래스안에서 메세지를 송신하는데, 어플리케이션이 정의해 사용할 수 있습니다.정의가 끝난 윈도우 클래스에서는 벌써 이 범위의 값을 정의하고 있으므로, 어플리케이션중에서 중요한 메세지를 정의하는데 이 범위의 값을 사용 해서는 안됩니다.예를 들면, 버튼 컨트롤·에디트 컨트롤·리스트 박스·combobox등이 같은 정의가 끝난 컨트롤은 이러한 값을 사용하고 있습니다.메세지를 확장해 그 메세지 코드에 같은 의미를 갖게하도록(듯이) 어플리케이션이 설계되어 있지 않은 한은, 이 메세지를 다른 어플리케이션에 보내서는 안됩니다.

WM_APP (0x8000) ~ 0xBFFF 의 범위의 메세지는, 어플리케이션이 프라이빗 메세지로서 사용하기 위해서 사용할 수 있습니다.이 범위의 메세지는, 시스템 정의의 메세지와 경합 할 것은 없습니다.

0xC000 ~ 0xFFFF 의 범위의 메세지는, 어플리케이션 실행시에, RegisterWindowMessage 함수를 호출하고, 문자열의 메세지 코드를 취득했을 때에 정의됩니다.같은 문자열을 등록한 모든 어플리케이션이, 관련지을 수 있었던 메세지 코드를 메시지 교환에 사용할 수 있습니다.다만, 실제의 메세지 코드는 일정한 값은 아니기 때문에, 다른 세션간이라도 같은 값이라고 가정해서는 안됩니다.

0x10000 이상의 범위의 메세지는, 향후의 확장을 위해서 예약되고 있습니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

WM_SIZE  (0) 2007.11.09
WM_MOVE  (0) 2007.11.09
레지스트리의 값의 형태  (0) 2007.11.09
MENUITEMINFO  (0) 2007.11.09
BROWSEINFO  (0) 2007.11.09
Comments