1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

[펌] 윈도우 메시지(Windows Message) 목록 및 설명..

API 조회 수 5898 추천 수 0 2013.03.06 11:30:07

출처 : http://blog.naver.com/cartarsis20/90029479744

 

' WM_ACTIVE

Private Const WM_ACTIVATE = &H6
윈도우가 활성화 또는 비활성화 되었을 때 발생.

<wParam>
0: 윈도우가 비활성화되었을 때
1: 윈도우가 마우스 클릭 이외의 다른 방법으로 활성화되었을 때
2: 윈도우가 마우스 클릭으로 활성화되었을 때

<lParam>
윈도우의 상태를 나타내며,윈도우가 아이콘으로 변했을 경우 LOWORD는 0이 아닌 값이고, 0일 경우는 다음과 같이 lParam 는 wParam 에 의존한다.
wParam 가 0인 경우는 lParam 의 LOWORD는 활성화된 윈도우의 핸들을 가지고,
wParam 가 0이 아닌 경우는lParam 의 LOWORD는 비활성화된 윈도우의 핸들을 가진다.

' WM_ACTIVATEAPP

Private Const WM_ACTIVATEAPP = &H1C
현재 활성화된 윈도우가 아닌 다른 어플리케이션에 속한 활성화된 윈도우로 보내려 할 때 발생.

<wParam>
0이 아닌 경우는 윈도우즈가 윈도우를 활성화시킬 때이고, 0인 경우는 윈도우즈가 윈도우를 비활성화시킬 때이다.

<lParam>
어플리케이션의 태스크 핸들 값을 가진다. 만약 <wParam>가 0인 경우는 <lParam>의 LOWORD는 비활성화된 윈도우 어플리케이션의
태스크 핸들 값을 가지고, <wParam>가 0이 아닌 경우는 <lParam>의 LOWORD는 활성화된 윈도우 어플리케이션의 태스크 핸들 값을 가진다.
이 모든 경우에 <lParam>의 HIGHWORD의 값은 사용하지 않는다.

' WM_ASKCBFORMATNAME

Private Const WM_ASKCBFORMATNAME = &H30C
클립보드의 내용이 표시되거나 복사 요구가 있을 때 발생한다.

<wParam>
복사할 최대 바이트 수가 지정된다.
<lParam>
복사할 데이터의 포인터를 가진다.

' WM_CANCELMODE

Private Const WM_CANCELMODE = &H1F
어플리케이션이 메시지 박스를 표시할 때 발생한다. 보조 파라미터는 사용하지 않는다.

' WM_CHANGECBCHAIN

Private Const WM_CHANGECBCHAIN = &H30D
윈도우가 클립보드와 연결될 때 발생한다.

<wParam>
클립보드와 연결이 되었으나 지워진 윈도우의 핸들 값을 가진다.

<lParam>
LOWORD에 클립보드와 연결된 다른 윈도우의 핸들 값을 가진다.

' WM_CHAR

Private Const WM_CHAR = &H102
WM_KEYUP이나 WM_KEYDOWN 메시지가 발생했을 때 나타나는 메시지로서 키가 눌리거나 떼어질 때 발생한다.

<wParam>
해당 키 값을 가진다.

<lParam>
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_CHARTOITEM

Private Const WM_CHARTOITEM = &H2F
WM_CHAR 메시지에 대하여 리스트 박스에 보내는 메시지이다.

<wParam>
키 값을 가진다.

<lParam>
LOWORD에는 현재의 카렛의 위치 값을 가지고,
HIGHWORD에는 리스트 박스의 핸들값을 가진다.

' WM_CHILDACTIVE

Private Const WM_CHILDACTIVATE = &H22
Child 윈도우를 움직였을 때 Parent 윈도우에 보내는 메시지이며 보조 파라미터는 사용하지 않는다.

' WM_CLEAR

Private Const WM_CLEAR = &H303
현재 선택한 아이템을 삭제할 때 발생하며 보조 파라미터는 사용하지 않는다.

' WM_CLOSE

Private Const WM_CLOSE = &H10
윈도우를 닫았을 때 발생하며 이 때 윈도우 함수에서는 DestroyWindow
함수를 불러 사용자의 확인을 받는다. 보조 파라미터는 사용하지 않는다.

' WM_COMMAND

Private Const WM_COMMAND = &H111
사용자가 메뉴를 선택하였을 때 또는 컨트롤 윈도우에서 Parent윈도우로 메시지를 보내거나 단축 키를 눌렀을 때 발생하며 윈도우가 아이콘으로 되어 있을 때에도 'WM_COMMAND 메시지는 발생한다.

<wParam>
메뉴 아이템이나 컨트롤 ID나 액셀러레이터의 ID 값이 들어감.

<lParam>
메뉴로부터 받은 메시지인 경우는 LOWORD에 0이, 액셀러레이터에서 받은 메시지이면 HIGHWORD에는 1이, 컨트롤로부터 받은 메시지이면 HIGHWORD에는 인식코드(Notification Code)가 저장되고 LOWORD에는 컨트롤 윈도우의 핸들 값이 저장되어 있다.

' WM_COMPACTING

Private Const WM_COMPACTING = &H41
어플리케이션이 한정된 시간 동안 많은 메모리를 차지하고 있을 때 발생하는 메시지로 데스크의 모든 윈도우에 전달된다. 어플리케이션이 이 메시지를 받으면 GetNumTasks함수를 이용하여 사용하지 않는 메모리를 윈도우즈에 반납해야 한다.

<wParam>
현재 CPU Time 값이 저장.

<lParam>
사용하지 않음.

' WM_COMPAREITEM

Private Const WM_COMPAREITEM = &H39
콤보 박스 또는 리스트 박스내에 새로운 아이템을 추가시킬 때 윈도우는 어플리케이션에 이 메시지를 전달하며 보조 인자에는 아이템의 상대적 위치를 담고 있다.

<wParam>
사용하지 않음

<lParam>
COMPAREITEMSTRUCT라는 데이터 구조의 포인터를 담고 있다.

' WM_COPY

Private Const WM_COPY = &H301
현재 선택된 텍스트를 클립보드에 보낼 때 사용한다. 보조 파라미터는 사용하지 않는다.

' WM_CREATE

Private Const WM_CREATE = &H1
윈도우가 처음 만들어질 때 발생하는 메시지로 CreateWindow함수가 실행될 때 윈도우 Procedure에게 보낸 준다.

<wParam>
사용하지 않는다.

<lParam>
CreateWindow 함수의 인수들이 저장된 데이터 구조의 포인터를 가진다.

' WM_CTLCOLOR

Private Const WM_CTLCOLORBTN = &H135
Private Const WM_CTLCOLORDLG = &H136
Private Const WM_CTLCOLOREDIT = &H133
Private Const WM_CTLCOLORLISTBOX = &H134
Private Const WM_CTLCOLORMSGBOX = &H132
Private Const WM_CTLCOLORSCROLLBAR = &H137
Private Const WM_CTLCOLORSTATIC = &H138
컨트롤 박스 또는 메시지 박스가 그려질 때 Parent윈도우로 보내지는 메시지이며 Parent 윈도우는 <wParam>를 사용하여 컨트롤 박스 또는 메시지 박스의 텍스트와 배경색을 지정한다.

<wParam>
Child 윈도우의 hdc 핸들 값을 가진다.

<lParam>
LOWORD에 Child윈도우의 핸들 값을 가지고,
HIGHWORD에는 다음과 같은 값들을 담고 있다.

CTLCOLOR_BTN: 버튼 컨트롤
CTLCOLOR_DLG: 대화 상자
CTLCOLOR_EDIT: 에디트 컨트롤
CTLCOLOR_LISTBOX: 리스트 박스
CTLCOLOR_MSGBOX: 메시지 박스
CTLCOLOR_SCROLLBAR: 스크롤 바
CTLCOLOR_STATIC: 스태틱 컨트롤

' WM_CUT

Private Const WM_CUT = &H300
현재 선택된 텍스트를 클립보드로 보내고 에디트 컨트롤 윈도우는 지운다.
보조 파라미터는 사용하지 않는다.

' WM_DEADCHAR

Private Const WM_DEADCHAR = &H103
WM_KEYUP이나 WM_KEYDOWN 메시지가 발생했을 때 나타나는 메시지로써 Dead-key가 눌리거나 떨어질 때 발생.

보조 파라미터
<wParam>
Dead-key 값을 가짐
<lParam>
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전에 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_DELETEITEM

Private Const WM_DELETEITEM = &H2D
리스트 박스 또는 콤보 박스가 닫혀지거나 LB_DELETESTRING, LB_RESETCONTENT , CB_DELETESTRING , CB_RESETCONTENT 메시지에 의해 박스 내의 아이템이 지워질 때 나타난다.

<wParam>
사용하지 않음.

<lParam>
지워진 리스트 박스 내의 아이템에 대한 데이터 구조체의 포인터를 가진다.

' WM_DESTROY

Private Const WM_DESTROY = &H2
윈도우가 닫혀질 때 DestroyWindow 함수에 의해 Parent 윈도우에 보내진다.
보조 파라미터는 사용하지 않는다.

' WM_DESTROYCLIPBOARD

Private Const WM_DESTROYCLIPBOARD = &H307
클립보드의 데이터 내용이 비었을 때 발생.
보조 파라미터는 사용하지 않음.

' WM_DEVMODECHANGE

Private Const WM_DEVMODECHANGE = &H1B
사용자가 디바이스 모드를 바꾸었을 때 상위의 모든 윈도우들에게 보내는 메시지.

<wParam>
사용하지 않음.

<lParam>
win.ini 에 지정된 디바이스 이름을 가리키는 포인터 값을 가짐.

' WM_DRAWCLIPBOARD

Private Const WM_DRAWCLIPBOARD = &H308
클립보드의 데이터 내용이 변경되었을 때 발생.
보조 파라미터는 사용하지 않음.

' WM_DRAWITEM

Private Const WM_DRAWITEM = &H2B
콤보 박스나 리스트 박스, 메뉴의 아이템이 선택되어 변경되어질 필요가 있을 때 발생.

<wParam>
사용하지 않음.

<lParam>
다시 그려질 아이템의 정보를 담고 있는 데이터 구조체의 포인터를 가짐.

' WM_ENABLE

Private Const WM_ENABLE = &HA
윈도우가 사용 가능한 상태 또는 불가능한 상태가 되었을 때 발생.

<wParam>
만약 윈도우가 사용 가능한 상태이면 0이고, 윈도우가 사용 불가능한 상태이면 0이 아닌값을 가진다.

<lParam> 사용하지 않는다.

' WM_ENDSESSION

Private Const WM_ENDSESSION = &H16
WM_QUERYENDSESSION에 의해 세션(session)이 종료되었는지를 나타낸다.

<wParam>
세션이 종료한 상태일 때는 0이 아닌 값을 가지고, 아니면 0의 값을 가진다.

<lParam>
사용하지 않는다.

' WM_ENTERIDLE

Private Const WM_ENTERIDLE = &H121
메시지 박스 또는 메뉴 박스에서 아이템을 선택했을 때 발생하며 현재 시스템이 Idle상태인가를 표시한다.

<wParam>
MSGF_DIALOGBOX : 시스템이 현재 대화 상자가 나타난 후 Idle 상태인 경우
MSGF_MENU : 시스템이 현재 메뉴가 나타난 후 Idle 상태인 경우

<lParam>
LOWORD는 대화 상자나 메뉴의 핸들 값을 가지면, HIGHWORD는 사용하지 않음.

' WM_ERASEBKGND

Private Const WM_ERASEBKGND = &H14
윈도우의 일부분이 지워지거나 크기를 변경할 때 배경이 지워지면 발생한다.

<wParam>
hdc 값을 가진다.

<lParam>
사용되지 않는다.

' WM_FONTCHANGE

Private Const WM_FONTCHANGE = &H1D
폰트가 변경될 때 발생하며 데스크 탑의 모든 윈도우에게 전해지고, AddFontResource 또는 RemoveFontResource 함수에 의해 시스템으로부터 폰트가 추가되거나 삭제된다. 어플리케이션이 상위의 모든 윈도우에게 폰트가 변경되었음을 알리기 위해 SendMessage 함수를 부른다.( 이함수의 인수 중 hwnd를 0xFFFF로 지정한다. )

보조 파라미터는 사용하지 않는다.

' WM_GETDLGCODE

Private Const WM_GETDLGCODE = &H87
컨트롤 윈도우에서 어플리케이션의 입력 함수에 보낸다.
보조 파라미터는 사용하지 않는다.

' WM_GETFONT

Private Const WM_GETFONT = &H31
윈도우에 텍스트를 써 넣기 위해 현재 컨트롤이 사용하고 있는 폰트를 얻는다.
보조 파라미터는 사용하지 않는다.

' WM_GETMINMAXINFO

Private Const WM_GETMINMAXINFO = &H24
확대,축소한 윈도우의 크기 정보를 가지고 있다.

<wParam>
사용하지 않는다.

<lParam>
다음의 정보를 담고 있는 포인터 배열을 가리킨다.
rgpt[0] 윈도우의 내부에서 사용
rgpt[1] 윈도우의 기본 크기로서
가로 크기는 (SM_CXSCREEN+2SM_CXFRAME)으로 결정되고
세로 크기는 ( SM_CYSCREEN+2SM_CYFRAME)으로 결정된다.
rgpt[2] 윈도우 모서리를 마우스 클릭으로 최대로 크게 변경했을 때의
모서리 위치를 나타내며, 기본 값으로는 가로값이 SM_CXFRAME,
세로값이 SM_CYFRAME 값이 지정된다.
rgpt[3] 윈도우를 최소화했을 때의 Tracking 크기를 나타내며,
가로는 SM_CXMINTRACK이, 세로는 SM_CYMINTRACK 값이 지정된다.
rgpt[4] 윈도우를 최대화했을 때의 Tracking 크기를 나타내며,
가로는 (SM_CXSCREEN+ 2SM_CXFRAME)으로 지정되고,
세로는 (SM_CYSCREEN+2SM_CYFRAME)으로 지정된다.

' WM_GETTEXT

Private Const WM_GETTEXT = &HD
컨트롤 윈도우에서 텍스트의 내용을 복사한다. 여기서 텍스트는 에디트 컨트롤 또는 콤보 박스 컨트롤이면 컨트롤의 내용이, 리스트 박스라면 현재 선택된 아이템이, 버튼 컨트롤이라면 버튼 이름이, 그 외의 윈도우라면 윈도우의 캡션 내용을 가리킨다.

<wParam>
Null 문자를 포함하여 복사한 텍스트의 크기가 저장된다.

<lParam>
복사한 텍스트를 가리키는 버퍼의 포인터가 지정된다.

' WM_GETTEXTLENGTH

Private Const WM_GETTEXTLENGTH = &HE
컨트롤 윈도우에서 복사한 텍스트의 길이가 되돌려진다(Null 문자 포함). 여기서 텍스트는 에디트 컨트롤 또는 콤보 박스 컨트롤이면 컨트롤의 내용이, 리스트 박스라면 현재 선택된 아이템이, 버튼 컨트롤이라면 버튼 이름이, 그 외의 윈도우라면 윈도우의 캡션 내용을 가리킨다.
보조 파라미터는 사용하지 않는다.

' WM_HSCROLL

Private Const WM_HSCROLL = &H114
마우스 버튼으로 수평 스크롤 바를 클릭했을 경우에 발생한다.

<wParam>
SB_LINEUP : 한 줄 위로 이동
SB_LINEDOWN : 한 줄 아래로 이동
SB_PAGEUP : 한 페이지 위로 이동
SB_PAGEDOWN : 한 페이지 아래로 이동
SB_THUMBPOSITION : 절대 위치로 이동
SB_THUMBTRACK : 마우스의 드래그로 이동한 경우
SB_TOP : 파일의 처음
SB_BOTTOM : 파일의 끝
SB_ENDSCROLL : 이동 정지

<lParam>
스크롤 바 컨트롤에 의한 메시지라면 <lParam>의 HIGHWORD에는 컨트롤 윈도우의 핸들이 보관되며, 팝업(Popup)윈도우의 스크롤 바에 의한 메시지라면 HIGHWORD는 사용하지 않음.

' WM_HSCROLLCLIPBOARD

Private Const WM_HSCROLLCLIPBOARD = &H30E
클립보드의 수평 스크롤 바에 어떤 일이 일어났을 때 발생.

<wParam>
클립보드의 핸들이 저장

<lParam>
HIGHWORD는 사용되지 않으나 LOWORD에는 다음과 같은 값을 가진다.
SB_LINEUP : 한 줄 위로 이동
SB_LINEDOWN : 한 줄 아래로 이동
SB_PAGEUP : 한 페이지 위로 이동
SB_PAGEDOWN : 한 페이지 아래로 이동
SB_THUMBPOSITION : 절대 위치로 이동(HIGHWORD에 위치값 지정)
SB_THUMBTRACK : 마우스의 드래그로 이동한 경우
SB_TOP : 파일의 처음
SB_BOTTOM : 파일의 끝
SB_ENDSCROLL : 이동 정지

' WM_ICONERASEBKGND

Private Const WM_ICONERASEBKGND = &H27
윈도우가 아이콘이 될 때 윈도우 배경 정보를 아이콘에 보내 준다.

<wParam>
아이콘의 hdc 핸들 값을 가진다.

<lParam>
사용하지 않는다.

' WM_INITDIALOG

Private Const WM_INITDIALOG = &H110
대화 상자를 초기화시킨다.

<wParam>
현재 활성화되어 있는 대화 상자의 첫 번째 컨트롤 아이템을 가진다.

<lParam>
대화 상자가 CreateDialogIndirectParam, CreateDialogParam, DialogBoxIndirectParam, DialogBoxParam 함수로 생성이 되었다면 dwInitParam의 값이 저장되나 그 이외에는 사용되지 않는다.

' WM_INITMENU

Private Const WM_INITMENU = &H116
마우스로 메뉴 바로 이동했거나 클릭 또는 메뉴 키를 누를 때 메뉴 초기화를 요구한다.

<wParam>
메뉴의 핸들을 가진다.

<lParam>
사용되지 않는다.

' WM_INITMENUPOPUP

Private Const WM_INITMENUPOPUP = &H117
팝업(Popup)메뉴가 표시될 때 발생한다.

<wParam>
팝업 메뉴의 핸들 값을 가진다.

<lParam>
LOWORD에는 팝업 메뉴의 인덱스 값을 가지고,HIGHWORD에는 팝업 메뉴가 시스템 메뉴라면 0이 아닌 값이, 그 외에는 0인 값이 지정된다.

' WM_KEYDOWN

Private Const WM_KEYDOWN = &H100
키가 눌렸을 때 발생한다.

<wParam>
가상 키 값이 저장.

<lParam> 다음과 같은 값을 가진다.
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_KEYUP

Private Const WM_KEYUP = &H101
키가 눌렸다가 떼어질 때 발생한다.

<wParam>
가상 키 값이 저장.

<lParam>
다음과 같은 값을 가진다.
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_KILLFOCUS

Private Const WM_KILLFOCUS = &H8
윈도우의 입력 포커스(Focus)를 지울 때(즉, 현재의 카렛이 위치한 문자를 지울 때 발생.

<wParam>
입력 포커스를 받는 윈도우의 핸들 값이 지정.

<lParam>
사용하지 않는다.

' WM_LBUTTONDBLCLK

Private Const WM_LBUTTONDBLCLK = &H203
마우스의 왼쪽 버튼이 연속해서 두 번 눌리는 경우.

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_MBUTTON : 마우스의 가운데 버튼이 눌림
MK_RBUTTON : 마우스의 오른쪽 버튼이 눌림
MK_SHIFT : <Shift>키가 눌림

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_LBUTTONDOWN

Private Const WM_LBUTTONDOWN = &H201
마우스의 왼쪽 버튼이 눌리는 경우

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_MBUTTON : 마우스의 가운데 버튼이 눌림
MK_RBUTTON : 마우스의 오른쪽 버튼이 눌림
MK_SHIFT : <Shift>키가 눌림.

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_LBUTTONUP

Private Const WM_LBUTTONUP = &H202
마우스의 왼쪽 버튼을 눌렀다가 떼는 경우

<wParam>
다음 키 값을 가짐
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_MBUTTON : 마우스의 가운데 버튼의 경우
MK_RBUTTON : 마우스의 오른쪽 버튼의 경우
MK_SHIFT : <Shift>키가 눌림.

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_MBUTTONDBLCLK

Private Const WM_MBUTTONDBLCLK = &H209
마우스의 가운데 버튼이 연속해서 두 번 눌리는 경우

<wParam> 다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_LBUTTON : 마우스의 왼쪽 버튼이 눌림
MK_RBUTTON : 마우스의 오른쪽 버튼이 눌림
MK_SHIFT : <Shift>키가 눌림.

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_MBUTTONDOWN

Private Const WM_MBUTTONDOWN = &H207
마우스의 가운데 버튼이 눌리는 경우.

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_LBUTTON : 마우스의 왼쪽 버튼이 눌림
MK_RBUTTON : 마우스의 오른쪽 버튼이 눌림
MK_SHIFT : <Shift>키가 눌림.

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_MBUTTONUP

Private Const WM_MBUTTONUP = &H208
마우스의 가운데 버튼을 눌렀다가 떼는 경우.

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_LBUTTON : 마우스의 왼쪽 버튼의 경우
MK_RBUTTON : 마우스의 오른쪽 버튼의 경우
MK_SHIFT : <Shift>키가 눌림.

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표의 값이 지정.

' WM_MDIACTIVE

Private Const WM_MDIACTIVATE = &H222
어플리케이션이 또 다른 MDI Child 윈도우가 열렸다는 것을 MDI클라이언트 윈도우에 알리는 메시지.

<wParam>
어플리케이션이 MDI클라이언트 윈도우에 보낼 때는 활성화된 MDIChild 윈도우의 핸들을 가지며, 클라이언트에서 Child 윈도우로 보낼 때에는 Child윈도우가 활성화되어 있다면 TRUE값을, Child윈도우가 활성화되지 않은 경우는 FALSE값을 가진다.

<lParam>
어플리케이션이 MDI클라이언트 윈도우에 보낼 때는 NULL 값을, 클라이언트에서 Child윈도우로 보낼 때에는 HIGHWORD에는 활성화되지 않은 윈도우의 핸들을, LOWORD에는 활성화된 윈도우의 핸들 값을 가진다.

' WM_MDICASCADE

Private Const WM_MDICASCADE = &H227
MDI클라이언트 윈도우 내의 Child윈도우들을 정돈 시킬 때 발생.
보조 파라미터는 사용하지 않는다.

' WM_MDICREATE

Private Const WM_MDICREATE = &H220
MDI클라이언트 윈도우 내의 Child윈도우를 생성한다.

<wParam>
사용하지 않는다.

<lParam>
MDICREATESTRUCT 데이터 구조체를 가리키는 long 포인터가 지정된다.

' WM_MDIDESTROY

Private Const WM_MDIDESTROY = &H221
MDI클라이언트 윈도우로 Child윈도우가 닫혔다는 정보를 보낸다.
보조 파라미터

<wParam>
Child윈도우 핸들을 가진다.

<lParam>
사용하지 않는다.

' WM_MDIGETACTIVE

Private Const WM_MDIGETACTIVE = &H229
Child윈도우가 아이콘으로 되어 있는가의 여부를 나타내는 플래그 값에 따라 현재 활성화되어 있는 MDIChild윈도우를 돌려준다.
보조 파라미터는 사용하지 않는다.

' WM_MDIICONARRANGE

Private Const WM_MDIICONARRANGE = &H228
모든 아이콘을 재배치하기 위해 MDI클라이언트 윈도우에게 알린다.
보조 파라미터는 사용하지 않는다.

' WM_MDIMAXIMIZE

Private Const WM_MDIMAXIMIZE = &H225
아이콘을 윈도우화시키기 위해 MDI클라이언트 윈도우에게 보낸다.

<wParam>
Child윈도우의 윈도우 ID를 가진다.

<lParam>
사용하지 않는다.

' WM_MDINEXT

Private Const WM_MDINEXT = &H224
가려졌던 다음의 MDI Child윈도우를 활성화시킨다.
보조 파라미터는 사용하지 않는다.

' WM_MDIRESTORE

Private Const WM_MDIRESTORE = &H223
윈도우화 또는 아이콘화된 MDI Child윈도우를 복구시킨다.
보조 파라미터

<wParam>
Child윈도우의 윈도우 ID를 가진다.

<lParam>
사용하지 않는다.

' WM_MDISETMENU

Private Const WM_MDISETMENU = &H230
MDI의 메뉴를 바꾼다.

<wParam>
사용하지 않는다.

<lParam>
LOWORD에 새로운 프레임 윈도우의 메뉴 핸들을, HIGHWORD에는 새로운 윈도우의 팝업 메뉴를 가진다. <lParam>가 0이면 바뀌는 메뉴는 없다.

' WM_MDITILE

Private Const WM_MDITILE = &H226
Tile형식으로 MDI클라이언트 윈도우의 모든 Child윈도우를 재배열한다.
보조 파라미터는 사용하지 않는다.

' WM_MESUREITEM

Private Const WM_MEASUREITEM = &H2C
컨트롤 윈도우가 생성될 때 콤보 박스,리스트 박스,메뉴 아이템의 소유자에게 보낸다. 소유자(Owner)는 이 메시지를 받으면 <lParam>에 MESUREITEM 데이터 포인터를 넣는다.

<wParam>
사용하지 않는다.

<lParam>
MESUREITEMSTRUCT 데이터 구조체를 가리키는 long 포인터를 가진다.

' WM_MENUCHAR

Private Const WM_MENUCHAR = &H120
사용자가 메뉴의 문자 키를 눌렀을 때에 발생.

<wParam>
ASCII문자가 저장.

<lParam>
HIGHWORD에는 선택된 메뉴 핸들이 들어가는데, 팝업 메뉴인 경우는 LOWORD에 MF_POPUP 플래그가 저장되고, 시스템 메뉴라면 MF_SYSMENU 플래그 값이 들어간다.

' WM_MENUSELECT

Private Const WM_MENUSELECT = &H11F
메뉴 아이템을 선택했을 때 발생.

<wParam>
메뉴 아이템이 선택되었다면 메뉴 아이템 ID를 담고, 팝업 메뉴가 선택되었다면 팝업 메뉴의 핸들을 담고 있다.

<lParam>
HIGHWORD에는 LOWORD와 관련된 메뉴를 지정하며, LOWORD에는 다음과 같은 플래그를 포함한다.
MF_BITMAP : 비트맵 아이템인 경우
MF_CHECKED : 선택된 아이템인 경우
MF_DISABLED : Disable된 아이템의 경우
MF_GRAYED : Gray색으로 표시된 아이템일 경우
MF_MOUSESELECT : 마우스로 선택된 아이템인 경우
MF_OWNERDRAW : Owner-Draw 아이템인 경우
MF_POPUP : 팝업 메뉴를 포함하는 아이템일 경우
MF_SYSMENU : 시스템 메뉴를 포함하는 아이템인 경우

' WM_MOUSEACTIVE

Private Const WM_MOUSEACTIVATE = &H21
마우스가 비활성화되어 있는 윈도우에서 마우스의 버튼을 눌렀을 경우에 발생

<wParam>
활성화되어 있는 최상의 윈도우의 핸들을 가진다.

<lParam>
LOWORD에는 Hit-test Area Code 값을 가지고, HIGHWORD에는 마우스 메시지 번호를 가진다.

' WM_MOUSEMOVE

Private Const WM_MOUSEMOVE = &H200
마우스를 이동하였을 때 발생.

<wParam>
가상 키가 눌렸는지 아닌지를 나타내는 다음과 같은 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌렸을 경우 1로 지정.
MK_LBUTTON : 마우스의 왼쪽 버튼이 눌렸을 경우 1로 지정.
MK_MBUTTON : 마우스의 가운데 버튼이 눌렸을 경우 1로 지정.
MK_RBUTTON : 마우스의 오른쪽 버튼이 눌렸을 경우 1로 지정
MK_SHIFT : <Shift>키가 눌림.

<lParam>
LOWORD에는 x좌표를, HIGHWORD에는 y좌표의 값을 가진다. 이 좌표계는 윈도우의 좌측 상단 점이 기준이다.

' WM_MOVE

Private Const WM_MOVE = &H3
윈도우를 이동하였을 때 발생.

<wParam>
사용하지 않는다.

<lParam>
윈도우 내 클라이언트 영역의 새로운 좌측 최상단점의 위치를 가진다. LOWORD에는 x좌표가, HIGHWORD에는 y좌표가 들어간다.

' WM_NCACTIVE

Private Const WM_NCACTIVATE = &H86
윈도우가 활성화되었나 아닌가를 알고 싶을 때 발생.

<wParam>
캡션바나 아이콘이 활성화되어 있다면 0이 아닌 값이, 그렇지 않다면 0이 들어 있다.

<lParam>
사용하지 않는다.

' WM_NCCALSSIZE

Private Const WM_NCCALCSIZE = &H83
윈도우 내 클라이언트 영역의 크기를 구하고자 할 때 발생.

<wParam>
사용하지 않는다.

<lParam>
윈도우의 스크린 좌표 값을 포함하는 RECT 데이터 구조체의 포인터 값을 가진다.

' WM_NCCREATE

Private Const WM_NCCREATE = &H81
윈도우가 처음 생성될 때 'WM_CREATE 메시지보다 먼저 발생.

<wParam>
처음 생성이 될 윈도우의 핸들 값을 가진다.

<lParam>
윈도우의 CREATESTRUCT 데이터 구조체를 가리키는 포인터를 가지고 있다.

' WM_NCDESTROY

Private Const WM_NCDESTROY = &H82
비 작업 영역이 소멸될 때 발생하며 그 윈도우가 가지고 있는 메모리 블록을 반납해야 한다. 이 메시지는 Destroy Window 함수에 의해 발생한다.
보조 파라미터는 사용하지 않는다.

' WM_NCHITTEST

Private Const WM_NCHITTEST = &H84
현재 커서가 위치한 윈도우로 보내는 메시지로, 마우스가 움직일 때 마다 발생.

<wParam>
사용하지 않는다.

<lParam>
LOWORD에는 x좌표를, HIGHWORD에는 y좌표 값을 가진다.

' WM_NCLBUTTONDBLCLK

Private Const WM_NCLBUTTONDBLCLK = &HA3
비 작업 영역에서 마우스의 왼쪽 버튼이 더블 클릭되었을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCLBUTTONDOWN

Private Const WM_NCLBUTTONDOWN = &HA1
비 작업 영역에서 마우스의 왼쪽 버튼이 눌렸을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCLBUTTONUP

Private Const WM_NCLBUTTONUP = &HA2
비 작업 영역에서 마우스의 왼쪽 버튼이 떼어졌을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCMBUTTONDBLCLK

Private Const WM_NCMBUTTONDBLCLK = &HA9
비 작업 영역에서 마우스의 가운데 버튼이 더블 클릭되었을 경우 발생

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCMBUTTONDOWN

Private Const WM_NCMBUTTONDOWN = &HA7
비 작업 영역에서 마우스의 가운데 버튼이 눌렸을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCMBUTTONUP

Private Const WM_NCMBUTTONUP = &HA8
비 작업 영역에서 마우스의 가운데 버튼이 떼어졌을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCMOUSEMOVE

Private Const WM_NCMOUSEMOVE = &HA0
비 작업 영역에서 마우스를 이동했을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCPAINT

Private Const WM_NCPAINT = &H85
비 작업 영역의 프레임을 다시 그리고자 할 때 발생.
보조 파라미터는 사용하지 않는다.

' WM_NCRBUTTONDBLCLK

Private Const WM_NCRBUTTONDBLCLK = &HA6
비 작업 영역에서 마우스의 오른쪽 버튼이 더블 클릭 되었을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NCRBUTTONDOWN

Private Const WM_NCRBUTTONDOWN = &HA4
비 작업 영역에서 마우스의 오른쪽 버튼이 눌렸을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은

' WM_NCRBUTTONUP

Private Const WM_NCRBUTTONUP = &HA5
비 작업 영역에서 마우스의 오른쪽 버튼이 떼어졌을 경우 발생.

<wParam>
WM_NCHITTEST에 의해 되돌려지는 코드 값을 가진다.

<lParam>
현재 커서의 x,y좌표 값을 포함한 POINT 데이터 구조체의 포인터 값을 가진다. 이 좌표 값은 윈도우의 좌측 최상단점이 기준이다.

' WM_NEXTDLGCTL

Private Const WM_NEXTDLGCTL = &H28
컨트롤 포커스(Focus)를 바꿀 때 대화 상자의 윈도우 함수에 보낸다.

<wParam>
lParam 가 0이 아니면 포커스를 받는 컨트롤 윈도우를 지정하고, 0인 경우는 포커스를 받는 Tabstop 형태의 이전 또는 다음 컨트롤 윈도우가 포커스를 받고, 아니면 Tabstop 형태 이전의 컨트롤 윈도우가 포커스를 받는다.

<lParam>
만약 0이 아닌 경우 wParam 는 포커스를 받는 컨트롤 윈도우 핸들을 가지고, 아니면 wParam 는 포커스를 받는 Tabstop 형태 이전 또는 다음 컨트롤 윈도우인지를 나타내는 플래그 값을 가진다.

' WM_PAINT

Private Const WM_PAINT = &HF
윈도우를 다시 그릴 경우.
보조 파라미터는 사용하지 않는다.

' WM_PAINTCLIPBOARD

Private Const WM_PAINTCLIPBOARD = &H309
클립보드의 클라이언트 영역의 일부 또는 전부를 다시 그릴 필요가 있을 때 발생.

<wParam>
클립보드의 핸들 값을 가진다.

<lParam>
LOWORD에는 다시 칠해질 영역의 PAINTSTRUCT 데이터 구조체를 가리키며 HIGHWORD는 사용하지 않는다.

' WM_PAINTICON

Private Const WM_PAINTICON = &H26
아이콘이 나타날 때 아이콘으로 된 윈도우에 보낸다.
보조 파라미터는 사용하지 않는다.

' WM_PALETTECHANGED

Private Const WM_PALETTECHANGED = &H311
입력 포커스를 가지고 윈도우가 팔레트를 바꿀 때 모든 윈도우들에게 이 메시지를 보낸다.

<wParam>
시스템 팔레트를 변화시키려는 윈도우의 핸들 값을 가진다.

<lParam>
사용하지 않는다.

' WM_PARENTNOTIFY

Private Const WM_PARENTNOTIFY = &H210
Child 윈도우가 생성되거나 소멸될 때, 그리고 마우스 커서가 Child 윈도우 상에서 마우스 버튼을 누르면 발생되어 Parent 윈도우에게로 보낸다.

<wParam>
어떤 사건이 발생되었는지 Parent 윈도우에게 다음의 내용을 통해 알려준다.
WM_CREATE : Child 윈도우가 생성됨
WM_DESTROY : Child 윈도우가 소멸됨
WM_LBUTTONDOWN : 마우스의 왼쪽 버튼이 눌림
WM_MBUTTONDOWN : 마우스의 가운데 버튼이 눌림
WM_RBUTTONDOWN : 마우스의 오른쪽 버튼이 눌림

<lParam>
LOWORD에는 Child 윈도우의 핸들이, HIGHWORD에는 Child 윈도우의 ID가 저장된다.

' WM_PASTE

Private Const WM_PASTE = &H302
현재 커서 위치에 클립보드의 내용을 컨트롤 윈도우에 추가 삽입한다.
보조 파라미터는 사용하지 않는다.

' WM_QUERYDRAGICON

Private Const WM_QUERYDRAGICON = &H37
아이콘이 현재 마우스로 드래그되었을 때 발생.
보조 파라미터는 사용하지 않는다.

' WM_QUERYENDSESSION

Private Const WM_QUERYENDSESSION = &H11
어플리케이션에서 세션(Session)의 종료 요구가 있을 때 발생.
보조 파라미터는 사용하지 않는다.

' WM_QUERYPALETTE

Private Const WM_QUERYNEWPALETTE = &H30F
입력 포커스가 새로운 칼라 팔레트를 변화시켰을 때 발생.
보조 파라미터는 사용하지 않는다.

' WM_QUERYOPEN

Private Const WM_QUERYOPEN = &H13
아이콘에서 윈도우로 바꾸라는 사용자의 요구가 있을 때 발생.
보조 파라미터는 사용하지 않는다.

' WM_QUIT

Private Const WM_QUIT = &H12
어플리케이션이 종료 요구가 있을 때 어플리케이션이 PostQuitMessage 함수를 부를 때 발생.

<wParam>
Exit 코드를 담고 있음.

<lParam>
사용하지 않는다.

' WM_RBUTTONDBLCLK

Private Const WM_RBUTTONDBLCLK = &H206
마우스의 오른쪽 버튼이 연속해서 두 번 눌리는 경우.

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_MBUTTON : 마우스의 가운데 버튼이 눌림
MK_LBUTTON : 마우스의 왼쪽 버튼이 눌림
MK_SHIFT : <Shift>키가 눌림

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_RBUTTONDOWN

Private Const WM_RBUTTONDOWN = &H204
마우스의 오른쪽 버튼이 눌리는 경우.

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키가 눌린 경우
MK_MBUTTON : 마우스의 가운데 버튼이 눌림
MK_LBUTTON : 마우스의 왼쪽 버튼이 눌림
MK_SHIFT : <Shift>키가 눌림

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_RBUTTONUP

Private Const WM_RBUTTONUP = &H205
마우스의 오른쪽 버튼이 눌렸다가 떼어지는 경우.

<wParam>
다음 키 값을 가짐.
MK_CONTROL : 컨트롤 키의 경우
MK_MBUTTON : 마우스의 가운데 버튼의 경우
MK_LBUTTON : 마우스의 왼쪽 버튼의 경우
MK_SHIFT : <Shift>키가 눌림

<lParam>
LOWORD에 커서의 x좌표 값이, HIGHWORD에는 커서의 y좌표 값이 지정.

' WM_RENDERALLFORMAT

Private Const WM_RENDERALLFORMATS = &H306
어플리케이션과 클립보드가 열려 있을 때 어플리케이션이 소멸되면 클립보드가 속한 상위의 어플리케이션에 보내는 메시지로, 보조 파라미터는 사용하지 않는다.

' WM_RENDERFORMAT

Private Const WM_RENDERFORMAT = &H305
마지막으로 복사된 데이터의 형식을 클립보드에서 가져올 필요가 있을 때 발생.

<wParam>
데이터의 형식이 지정된다.

<lParam>
사용하지 않는다.

' WM_SETCURSOR

Private Const WM_SETCURSOR = &H20
윈도우 내에서 커서의 이동이 있을 때 발생.

<wParam>
현재의 커서가 놓여진 윈도우의 핸들을 가지고 있다.

<lParam>
LOWORD에 Hit-test 코드를 가지고, HIGHWORD에는 마우스 메시지 번호를 가지고 있다.

' WM_SETFOCUS

Private Const WM_SETFOCUS = &H7
윈도우가 입력 포커스를 얻고자 할 때.

<wParam>
입력 포커스를 잃어버린 윈도우의 핸들을 가진다.

<lParam> 사용하지 않는다.

' WM_SETFONT

Private Const WM_SETFONT = &H30
컨트롤에 텍스트를 써놓을 때 폰트를 지정한다.

<wParam>
폰트의 핸들을 가지고 있으나 NULL인 경우는 시스템 폰트를 사용.

<lParam>
새로 지정된 폰트를 사용할지의 여부를 구한다. 변경된 폰트를 사용했다면 TRUE값을, 아니면 FALSE값을 가진다.

' WM_SETREDRAW

Private Const WM_SETREDRAW = &HB
윈도우가 다시 그려질지에 대한 허용 여부를 알고자 할 때 발생.

<wParam>
다시 그릴지를 나타내는 플래그의 상태가 저장되어 있으며, 0 이 아니면 다시 그리고 0일 경우는 다시 그리지 않아도 된다.

<lParam>
사용하지 않는다.

' WM_SETTEXT

Private Const WM_SETTEXT = &HC
윈도우에 텍스트를 써 넣을 때 발생.

<wParam>
사용하지 않는다.

<lParam>
null을 포함한 문자열의 포인터를 가지고 있다.

' WM_SHOWWINDOW

Private Const WM_SHOWWINDOW = &H18
윈도우가 가려지거나 보여질 때 발생.

<wParam>
윈도우가 보이게 하는지에 대한 상태 여부를 가지고 있으며 윈도우를 보여지게 할 경우는 0이 아닌 값을, 윈도우가 가려진 경우는 0의 값을 가진다.

<lParam>
ShowWindow 함수에 의해 발생한 메시지 이면 0의 값을, 아니면 다음 값을 가진다.
SW_PARENTCLOSING : Parent 윈도우가 닫혀지거나 팝업 윈도우가 가려질 때
SW_PARENTTOPENING : Parent 윈도우가 열리거나 팝업 윈도우가 보여질 때

' WM_SIZE

Private Const WM_SIZE = &H5
윈도우의 크기 변화 요구가 있을 때 발생.
사용자가 윈도우의 크기를 조절하면 윈도우즈는 조절된 크기로 만들어 놓고 다음과 같은 와 함께 윈도우 함수로 보낸다.

<wParam>
다음과 같은 재조정 요구 값이 들어가 있다.
SIZEFULLSCREEN : 윈도우가 최대화 되었을 때 (또는 윈도우가 열렸을 때 )
SIZEICONIC : 윈도우가 최소화 되었을 때 (또는 윈도우가 아이콘으로 되었을 때 )
SIZEZOOMHIDE : 다른 윈도우가 최대화되었을 때 발생하며 모든 팝업 윈도우에게 보낸다.
SIZEZOOMSHOW : 다른 윈도우가 이전의 크기로 복구되었을 때 발생하며 모든 팝업 윈도우에게 보낸다.

<lParam>
LOWORD에는 윈도우의 클라이언트 영역의 새로 변경된 폭이, HIGHWORD에는 높이가 들어가 있다.

' WM_SIZECLIPBOARD

Private Const WM_SIZECLIPBOARD = &H30B
클립보드의 크기 변화 요구가 있을 때.

<wParam>
클립보드인가를 나타낸다.

<lParam>
LOWORD에 RECT 데이터 구조체를 지정하고, HIGHWORD는 사용하지 않는다.

' WM_SPOOLERSTATUS

Private Const WM_SPOOLERSTATUS = &H2A
프린트 큐에 인쇄할 데이터를 추가하거나 삭제할 때 발생하며, 프린트 매니저에서 가져오는 메시지.

<wParam>
SP_JOPSTATUS로 지정된다.

<lParam>
LOWORD에는 프린터 큐에 인쇄할 작업의 수가, HIGHWORD는 사용하지 않는다.

' WM_SYSCHAR

Private Const WM_SYSCHAR = &H106
시스템 키가 눌렸을 때.

<wParam>
시스템 메뉴의 ASCII 값이 들어가 있다.

<lParam>
다음과 같은 값을 가진다.
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_SYSCOLORCHANGE

Private Const WM_SYSCOLORCHANGE = &H15
하나 이상의 시스템 칼라를 바꾸려 할 때 발생. 시스템 칼라가 변경되면 상위의 모든 윈도우에 이 메시지가 전달된다. 보조 파라미터는 사용하지 않는다.

' WM_SYSCOMMAND

Private Const WM_SYSCOMMAND = &H112
사용자가 시스템 메뉴를 선택하거나 메뉴 박스의 최대화, 최소화 버튼을 선택한 경우 발생.

<wParam>
다음 값 중의 하나를 가진다.
SC_COLOR : 윈도우가 닫힐 때
SC_HSCROLL : 수평 스크롤이 일어날 때
SC_KEYMENU : 키보드를 눌러 메뉴를 얻어 올 때
SC_MAXIMIZE : 윈도우가 최대화되었을 때
SC_MINIMIZE : 윈도우가 최소화되었을 때
SC_MOUSEMENU : 마우스 클릭으로 메뉴를 가져올 때
SC_MOVE : 윈도우를 이동했을 때
SC_NEXTWINDOW : 다음 윈도우로 옮겨갈 때
SC_PREVWINDOW : 이전 윈도우로 옮겨갈 때
SC_RESTORE : 이전의 좌표 값을 보관
SC_SIZE : 윈도우를 크기를 알려 할 때
SC_VSCROLL : 수직 스크롤이 일어날 때

<lParam>
마우스에 의해 메뉴가 선택된 경우에 발생하며 시스템 메뉴의 좌표값을 가진다.

' WM_SYSDEADCHAR

Private Const WM_SYSDEADCHAR = &H107
Deadkey가 사용되었을 때 발생.

<wParam>
Deadkey 값이 저장.

<lParam>
LOWORD에는 눌러진 키의 반복 횟수가, HIGHWORD에는 자동 반복 횟수가 저장 되어 있다.

' WM_SYSKEYDOWN

Private Const WM_SYSKEYDOWN = &H104
<ALT>키와 어떤 키가 눌린 경우 발생.

<wParam>
눌려진 키의 가상 코드 값이 저장된다.

<lParam>
다음과 같은 값을 가진다.
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_SYSKEYUP

Private Const WM_SYSKEYUP = &H105
<ALT>키와 어떤 키가 동시에 눌려진 키가 떼어질 경우 발생.

<wParam>
떼어진 키의 가상 코드 값이 저장된다.

<lParam>
다음과 같은 코드 값을 가진다.
Bit 0 - 15: 반복되는 횟수
BIT 16 - 23: 스캔 코드(키보드가 눌린 것을 표시하는 비트열)로 사용
BIT 24 : 확장 키보드를 사용할 경우
Bit 25 - 26: 사용하지 않음
Bit 27 - 28: 윈도우즈가 사용
BIT 29 : <ALT>키가 눌린 경우는 1, 그렇지 않으면 0으로 지정
BIT 30 : 메시지를 보내기 전 키가 눌리면 1, 떼어지면 0
BIT 31 : 키가 눌리면 0, 떼어지면 1

' WM_TIMECHANGE

Private Const WM_TIMECHANGE = &H1E
어플리케이션에서 시스템의 시간이 변경되었을 경우에 발생하며 상위의 모든 윈도우에 전달된다.
보조 파라미터는 사용하지 않는다.

' WM_TIMER

Private Const WM_TIMER = &H113
주어진 시간이 경과되었거나 제한 시간이 되었을 경우 발생한다.

<wParam>
타이머의 ID값이 저장된다.

<lParam>
NULL이 아니면 윈도우 함수 내로 WM_TIMER를 보내는 것이 아니라 윈도우즈가 타이머 루틴을 콜백 함수를 이용하여 직접 부른다.

' WM_UNDO

Private Const WM_UNDO = &H304
가장 최근에 동작한 기능을 원래대로 복구시킨다. 보조 파라미터는 사용하지 않는다.

' WM_VKEYTOITEM

Private Const WM_VKEYTOITEM = &H2E
리스트 박스에서 키 입력이 있을 때 발생.

<wParam>
누른 키의 가상 키 코드 값이 저장.

<lParam>
HIGHWORD에는 현재의 카렛 위치가, LOWORD에는 리스트 박스의 핸들이 저장.

' WM_VSCROLL

Private Const WM_VSCROLL = &H115
마우스로 수직 스크롤 바를 클릭 했을 때 발생.

<wParam>
다음과 같은 값 중의 하나를 가진다.
SB_LINEUP : 한 줄 위로 이동
SB_LINEDOWN : 한 줄 아래로 이동
SB_PAGEUP : 한 페이지 위로 이동
SB_PAGEDOWN : 한 페이지 아래로 이동
SB_THUMBPOSITION : 절대 위치로 이동
SB_THUMBTRACK : 마우스의 드래그로 이동한 경우
SB_TOP : 파일의 처음
SB_BOTTOM : 파일의 끝
SB_ENDSCROLL : 이동 정지

<lParam>
스크롤 바 컨트롤에 의한 메시지라면 <lParam>의 HIGHWORD에는 컨트롤 윈도우의 핸들이 보관되며, 팝업(Popup) 윈도우의 스크롤 바에 의한 메시지 라면 HIGHWORD는 사용하지 않음.

' WM_VSCROLLCLIPBOARD

Private Const WM_VSCROLLCLIPBOARD = &H30A
클립보드의 수직 스크롤 바에 어떤 일이 일어났을 때 발생

<wParam>
클립보드의 핸들이 저장.

<lParam>
HIGHWORD는 사용되지 않으나 LOWORD는 다음과 같은 값을 가진다.
SB_LINEUP : 한 줄 위로 이동
SB_LINEDOWN : 한 줄 아래로 이동
SB_PAGEUP : 한 페이지 위로 이동
SB_PAGEDOWN : 한 페이지 아래로 이동
SB_THUMBPOSITION : 절대 위치로 이동
SB_THUMBTRACK : 마우스의 드래그로 이동한 경우
SB_TOP : 파일의 처음
SB_BOTTOM : 파일의 끝
SB_ENDSCROLL : 이동 정지


' WM_WININICHANGE

Private Const WM_WININICHANGE = &H1A
어플리케이션이 시스템 파일인 <WIN.INI>를 변경했을 때 발생하며 모든 윈도우에 전달된다.

<wParam>
사용하지 않는다.

<lParam>
변경시킨 부분의 스트링 포인터를 가진다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 엑셀일반 엑셀 짜투리 팁 모음.. imagefile [13] [레벨:30]아별 2005-07-22 50375
공지 엑셀일반 엑셀 잘 하는 요령은? _ 엑셀 추천사이트 포함 [2] [레벨:30]아별 2009-11-12 38063
공지 엑셀일반 엑셀 단축키(바로가는키, ShortCut) 총정리입니다. imagefile [247] [레벨:30]아별 2010-08-29 102759
75 엑셀에러 【 엑셀에러 】 죄송합니다. Excel에 오류가 생겨 제대로 작동할 수 없습니다. Excel을(를) 닫아야 합니다. 에러 처리 [레벨:30]아별 2023-03-28 548
74 엑셀기초 엑셀 수식에 메모를 달아보자 [레벨:30]아별 2021-11-08 2262
73 엑셀일반 Excel 2010의 중단된 기능 및 수정된 기능 [레벨:30]아별 2017-01-20 8827
72 엑셀일반 Excel 2013에서 중단된 기능 및 변경된 기능 image [레벨:30]아별 2017-01-20 4785
71 엑셀VBA [VBA Tips] GetAttr() 디렉토리 속성 확인 에러 (8208을 리턴할 경우) [레벨:30]아별 2016-04-06 5146
70 엑셀기초 엑셀 언어 설정 변경 방법.. imagefile [레벨:30]아별 2015-05-21 9040
69 엑셀기초 감사합니다~ [1] 열시히 2014-07-21 5833
68 엑셀일반 [엑셀에러] stdole32.tlb imagefile [레벨:30]아별 2013-09-27 112922
67 엑셀기초 [초보용 팁] 엑셀 명칭 알아보기.. imagefile [7] [레벨:30]아별 2013-05-27 7490
66 엑셀기초 [초보용 팁] 수식을 값으로 만들기 imagefile [레벨:30]아별 2013-05-15 6646
» API [펌] 윈도우 메시지(Windows Message) 목록 및 설명.. [레벨:30]아별 2013-03-06 5898
64 엑셀함수 INDEX와 SUMPRODUCT를 사용하여 2가지 이상 조건에 맞는 값 찾기.. imagefile [레벨:30]아별 2012-11-07 5791
63 엑셀일반 오피스 2013 프리뷰 버전 발표.. imagefile [레벨:30]아별 2012-07-24 5790
62 엑셀함수 [링크] (초보자를 위한) '엑셀 달인'으로 인정받는 '함수' 사용법 imagefile [레벨:30]아별 2012-05-25 7830
61 엑셀일반 [ XML ] 엑셀로 XML 데이터 다루기.. file [2] [레벨:30]아별 2011-12-26 12368
60 엑셀일반 인쇄 설정 팁.. 머리글, 바닥글에 페이지 번호 설정하는 방법 imagefile [2] [레벨:30]아별 2011-08-03 22377
59 엑셀일반 조건부 서식 적용하기 (로또 번호 맞춰 보기) imagefile [4] [레벨:30]아별 2011-04-11 15988
58 엑셀일반 엑셀 기본 제공 셀 표시형식입니다. file [레벨:30]아별 2011-03-05 7551
57 엑셀일반 젠쟝 2010.. 사라져 버린 Ctrl+Shift+0 [레벨:30]아별 2011-02-18 11385
56 엑셀일반 외부 파일에 연결된(외부 파일 참조) 셀 찾는 방법입니다. imagefile [4] [레벨:30]아별 2011-02-08 24280