MSG

Programming/Windows API 2006. 10. 27. 20:13
MSG

실제 메시지 처리는 별도의 메시지 처리 함수(WndProc)에서 수행한다.
메시지는 시스템의 변화에 대한 정보이며 MSG 라는 구조체에 보관된다.

typedef struct tagMSG
{
  HWND  hwnd;
  UINT  message;
  WPARAM  wParam;
  LPARAM  lParam;
  DWORD  time;
  POINT  pt;
} MSG;

hwnd
메시지를 받을 윈도우 핸들이다.

message
어떤 종류의 메시지인가를 나타낸다.

wParam
32비트 값이며 전달된 메시지에 대한 부가적인 정보를 가진다.
어떤 의미를 가지는가는 메시지별로 다르다.

lParam
32비트 값이며 전달된 메시지에 대한 부가적인 정보를 가진다.
어떤 의미를 가지는가는 메시지별로 다르다.

time
메시지가 발생한 시간이다.

pt
메시지가 발생했을 때의 마우스 위치이다.

message 멤버를 읽고 메시지의 종류를 파악하며 그 값에 따라 프로그램의 반응이 다르다.
메시지는 windows.h 에 메시지별로 매크로 상수를 정의되어 있으며 WM_ 로 시작된다.
  • WM_QUIT
    프로그램을 끝낼 때 발생하는 메시지이다.
  • WM_LBUTTONDOWN
    마우스의 좌측 버튼을 누를 경우 발생한다.
  • WM_CHAR
    키보드로부터 문자가 입력될 때 발생한다.
  • WM_PAINT
    화면을 다시 그려야 할 필요가 있을 때 발생한다.
  • WM_DESTROY
    윈도우가 메모리에서 파괴될 때 발생한다.
  • WM_CREATE
    윈도우가 처음 만들어질 때 발생한다.

WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,