목차
1. The Simplest Windows Program
2. The Generic Windows Program
3. 윈도우 메시지들
1. WM_CREATE
2. WM_SIZE
3. WM_SHOWWINDOW
4. WM_ACTIVATE
5. WM_COMMAND
2. The Generic Windows Program
3. 윈도우 메시지들
1. WM_CREATE
2. WM_SIZE
3. WM_SHOWWINDOW
4. WM_ACTIVATE
5. WM_COMMAND
본문내용
s
Accelerator keystrokes that are defined to select items from the System menu are translated into WM_SYSCOMMAND messages.
If an accelerator keystroke that corresponds to a menu item occurs when the window that owns the menu is minimized, no WM_COMMAND message is sent. However, if an accelerator keystroke that does not match any of the items on the window's menu or on the System menu occurs, a WM_COMMAND message is sent, even if the window is minimized.
6. WM_LBUTTONDOWN
fwKeys = wParam; /* key flags */
xPos = LOWORD(lParam); /* horizontal position of cursor */
yPos = HIWORD(lParam); /* vertical position of cursor */
윈도우의 클라이언트 영역에서 마우스 왼쪽 버튼이 눌려질 때 WM_LBUTTONDOWN 메시지가 붙여진다. 만약 마우스가 captured되지 않았다면 이 메시지는 마우스 커서 아래에 놓여있는 윈도우로 붙여 질것이고, 그렇지 않을 경우 마우스를 캡쳐한 윈도우로 붙여진다.
Parameter Description
fwKeys 다양한 virtual key가 눌려졌는지를 나타낸다. 값은 아래와 같은 값들의 조 합을 나타날 수 있다.
Value Description
MK_CONTROL CTRL 키가 눌려졌으면 setting 된다.
MK_MBUTTON 가운데 마우스 버튼이 눌려 졌으면 setting 된다.
MK_RBUTTON 오른쪽 마우스 버튼이 눌려 졌으면 setting 된다.
MK_SHIFT SHIFT 키가 눌려졌으면 setting 된다.
xPos lParam의 하위 워드 값을 가지며, 마우스 커서의 x 좌표값을 나타낸다.
이 값은 클라이언트 영역의 왼쪽-위에 대한 상대적인 값이다.
yPos lParam의 상위 워드 값을 가지며, 마우스 커서의 x 좌표값을 나타낸다.
이 값은 클라이언트 영역의 왼쪽-위에 대한 상대적인 값이다.
Returns
zero를 리턴해야 한다.
Comments
어플리케이션은 lParam 인자를 POINTS 구조체로 변환시키기 위해 MAKEPOINTS 매크로를 사용할 수 있다.
7. WM_PAINT
이 메시지는 윈도우의 일부분을 그릴 필요가 있을 때 발생한다.
그리고 'UpdateWindow'함수를 호출할때도 WM_PAINT 메시지는 발생한다.
Parameter Description
wParam 이 파라미터는 쓰이지 않는다.
lParam 이 파라미터는 쓰이지 않는다.
8. WM_CLEAR
이 메시지는 현재의 선택을 제거한다.
Parameter Description
wParam 사용되지 않는다.
lParam 사용되지 않는다.
8. WM_CLOSE
윈도우가 닫혀질려고 할 때 이 메시지가 발생한다.
즉 윈도우의 모양은 화면에 존재한다.
Parameter Description
wParam 이 메시지는 쓰이지 않는다.
lParam 이 메시지는 쓰이지 않는다.
Comments
기본 함수인 'DefWindowProc'는 윈도우를 종료하기 위해 'DestroyWindow'함수를 호출한다.
어플리케이션은 윈도우를 종료하기 전에 확인시키기 위해 WM_CLOSE 메시지를 처리함으로써 사용자에게 윈도우가 종료될것이라고 환기시킨다.
9. WM_DESTROY
이 메시지는 윈도우가 화면에서 사라지고 나서 '윈도우가 종료되었으니 뒷처리를 하라'는 뜻을 포함하고 있다. 이 메시지는 또한 자식 윈도우가 종료할 때 부모 윈도우에게 전달된다.
Parameter Description
wParam 사용되지 않는다.
lParam 사용되지 않는다.
Comments
종료하려는 윈도우가 clipboard-viewer chain (set by using the SetClipboardViewer function)의 부분이라면 WM_DESTROY 처리하고 리턴하기 전에 'ChangeClipboardChain'함수로 처리해서 clipboard-viewer로부터 자기 자신을 제거해야 한다.
Accelerator keystrokes that are defined to select items from the System menu are translated into WM_SYSCOMMAND messages.
If an accelerator keystroke that corresponds to a menu item occurs when the window that owns the menu is minimized, no WM_COMMAND message is sent. However, if an accelerator keystroke that does not match any of the items on the window's menu or on the System menu occurs, a WM_COMMAND message is sent, even if the window is minimized.
6. WM_LBUTTONDOWN
fwKeys = wParam; /* key flags */
xPos = LOWORD(lParam); /* horizontal position of cursor */
yPos = HIWORD(lParam); /* vertical position of cursor */
윈도우의 클라이언트 영역에서 마우스 왼쪽 버튼이 눌려질 때 WM_LBUTTONDOWN 메시지가 붙여진다. 만약 마우스가 captured되지 않았다면 이 메시지는 마우스 커서 아래에 놓여있는 윈도우로 붙여 질것이고, 그렇지 않을 경우 마우스를 캡쳐한 윈도우로 붙여진다.
Parameter Description
fwKeys 다양한 virtual key가 눌려졌는지를 나타낸다. 값은 아래와 같은 값들의 조 합을 나타날 수 있다.
Value Description
MK_CONTROL CTRL 키가 눌려졌으면 setting 된다.
MK_MBUTTON 가운데 마우스 버튼이 눌려 졌으면 setting 된다.
MK_RBUTTON 오른쪽 마우스 버튼이 눌려 졌으면 setting 된다.
MK_SHIFT SHIFT 키가 눌려졌으면 setting 된다.
xPos lParam의 하위 워드 값을 가지며, 마우스 커서의 x 좌표값을 나타낸다.
이 값은 클라이언트 영역의 왼쪽-위에 대한 상대적인 값이다.
yPos lParam의 상위 워드 값을 가지며, 마우스 커서의 x 좌표값을 나타낸다.
이 값은 클라이언트 영역의 왼쪽-위에 대한 상대적인 값이다.
Returns
zero를 리턴해야 한다.
Comments
어플리케이션은 lParam 인자를 POINTS 구조체로 변환시키기 위해 MAKEPOINTS 매크로를 사용할 수 있다.
7. WM_PAINT
이 메시지는 윈도우의 일부분을 그릴 필요가 있을 때 발생한다.
그리고 'UpdateWindow'함수를 호출할때도 WM_PAINT 메시지는 발생한다.
Parameter Description
wParam 이 파라미터는 쓰이지 않는다.
lParam 이 파라미터는 쓰이지 않는다.
8. WM_CLEAR
이 메시지는 현재의 선택을 제거한다.
Parameter Description
wParam 사용되지 않는다.
lParam 사용되지 않는다.
8. WM_CLOSE
윈도우가 닫혀질려고 할 때 이 메시지가 발생한다.
즉 윈도우의 모양은 화면에 존재한다.
Parameter Description
wParam 이 메시지는 쓰이지 않는다.
lParam 이 메시지는 쓰이지 않는다.
Comments
기본 함수인 'DefWindowProc'는 윈도우를 종료하기 위해 'DestroyWindow'함수를 호출한다.
어플리케이션은 윈도우를 종료하기 전에 확인시키기 위해 WM_CLOSE 메시지를 처리함으로써 사용자에게 윈도우가 종료될것이라고 환기시킨다.
9. WM_DESTROY
이 메시지는 윈도우가 화면에서 사라지고 나서 '윈도우가 종료되었으니 뒷처리를 하라'는 뜻을 포함하고 있다. 이 메시지는 또한 자식 윈도우가 종료할 때 부모 윈도우에게 전달된다.
Parameter Description
wParam 사용되지 않는다.
lParam 사용되지 않는다.
Comments
종료하려는 윈도우가 clipboard-viewer chain (set by using the SetClipboardViewer function)의 부분이라면 WM_DESTROY 처리하고 리턴하기 전에 'ChangeClipboardChain'함수로 처리해서 clipboard-viewer로부터 자기 자신을 제거해야 한다.
추천자료
- 마이크로소프트의 소송
- 빌게이츠의 리더쉽과 성공
- 마이크로소프트 닷넷 (ASP.NET)
- 운영체제의 개념설명과 운영체제
- 운영체제의 특성과 기능
- [castlenine]C언어 요점정리
- RFID를 이용한 MFC 주차장 관리 프로그램
- [HTML][문자편집][표편집][링크편집][프레임편집][멀티미디어삽입]HTML의 정의, HTML의 의의,...
- [소프트웨어] Labview(랩뷰)의 소개, 특징, 구조 및 응용분야, 사용분야에 대하여
- C# chapter01.ppt
- 소프트웨어 설계-주류관리프로그램
- Database Tuning Loop constructs
- 구글 서비스 분석
- PC 및 현대의 IT기기들에서 사용하는 운영체제의 종류와 특징을 조사하세요.