컴퓨터 공부/Win32 API 프로그래밍

[4월 29일 1교시] 입력1

려리군 2009. 4. 29. 14:45

WM_PAINT 

작업 영역중 일부가 무효화 되었을 때(처음 생성, 위치 이동, 크기 변경, 가려졌다 드러날 때, 스크롤 때)


WM_CHAR

키보드로부터 문자키가 입력되었을 때(TranslateMessage 함수에 의해 생성)

 - wParam : (TCHAR)입력된 문자코드

 - lParam 

    B31 : keydown-0, keyup-1

    B30 : 메세지가 보내지기 전 keydown-1

    B29 : Alt키 down - 1

    B24 : 오른쪽 Alt, 오른쪽 Ctrl등 확장키 down -1

    B23-B16 : 스캔코드

    B15-B0 : 반복카운트


WM_KEYDOWN

키보드로부터 키가 눌렸을 때

 - wParam : 가상 키코드 전달

    가상 키코드 값 주소 : http://www.winapi.co.kr/reference/Message/VirtualKey.htm

 - lParam : WM_CHAR와 동일


※ 키를 눌렀다 때면 WM_KEYDOWN->WM_CHAR->WM_KEYUP 순서대로 메세지 발생.


WM_SYS????

F10이나 Alt 키와 함께 눌려지는 키보드 메세지.

반드시 DefWindowProc로 리턴.


NonClient 작업영역 메세지

 - 비 작업영역 : 타이틀 바, 경계선, 메뉴, 스크롤 바 등

 - 메세지 : NC + 메세지 이름

    예) WM_NCLBUTTONDOWN

 - 시스템 내부적으로 사용.

 - 반드시 DefWindowProc로 리턴


마우스 메세지

 버튼누름 놓음 더블클릭 
 좌측WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONDBLCLK 
 우측WM_RBUTTONDOWN WM_RBUTTONUPWM_RBUTTONDBLCLK 
 중앙WM_MBUTTONDOWN WM_MBUTTONUP WM_MBUTTONDBLCLK


더블클릭을 하기 위해서 WndClass.Style에 CS_BDLCLKS를 추가해 주어야 한다.


WM_MOUSEMOVE

마우스가 움직일 때 발생


마우스 메세지 발생시 공통 전달인자들.

 - wParam

   MK_CONTROL : Ctrl키 눌림

   MK_LBUTTON : 마우스 왼쪽 버튼 눌림

   MK_RBUTTON : 마우스 오른쪽 버튼 눌림

   MK_MBUTTON : 마우스 가운데 버튼 눌림

   MK_SHIFT : Shift키 눌림

 - LOWORD(lParam) : 메세지 발생할 때 X좌표

 - HIWORD(lParam) : 메세지 발생할 때 Y좌표