클라이언트 영역 마우스 메시지

창의 클라이언트 영역 내에 마우스 이벤트가 발생 한 창 클라이언트 영역 마우스 메시지를 받습니다. 클라이언트 영역 내에서 커서를 이동 하는 경우 시스템 창에 WM_MOUSEMOVE 메시지를 게시 합니다. 사용자가 누를 또는 클라이언트 영역 내에 커서가 있을 때 마우스 단추를 놓을 때 다음 메시지 중 하나가 게시.

메시지 의미
WM_LBUTTONDBLCLK 마우스 왼쪽된 단추 두 번 클릭 했다.
WM_LBUTTONDOWN 마우스 왼쪽된 단추를 눌렀습니다.
WM_LBUTTONUP 마우스 왼쪽된 버튼을 발표 했다.
WM_MBUTTONDBLCLK 마우스 가운데 단추 두 번 클릭 했다.
WM_MBUTTONDOWN 마우스 가운데 단추를 눌렀습니다.
WM_MBUTTONUP 마우스 가운데 버튼을 발표 했다.
WM_RBUTTONDBLCLK 마우스 오른쪽 단추 두 번 클릭 했다.
WM_RBUTTONDOWN 마우스 오른쪽 단추를 눌렀습니다.
WM_RBUTTONUP 마우스 오른쪽 단추를 발표 했다.

메시지 매개 변수

클라이언트 영역 마우스 메시지의 lParam 매개 변수는 커서 핫스폿 위치를 나타냅니다. 낮은 순서 단어는 핫 스폿에 대 한 x 좌표를 나타내고, 높은 순서 단어는 y-좌표를 나타냅니다. 좌표는 클라이언트 좌표에서 제공 됩니다. 클라이언트 좌표 시스템에서 화면에 모든 포인트를 클라이언트 영역의 왼쪽된 위 모서리의 좌표 (0, 0)을 기준으로 부여.

WParam 매개 변수는 마우스 이벤트의 시간에 다른 마우스 단추와 ctrl 키와 shift 키의 상태를 나타내는 플래그를 포함 합니다. Ctrl 또는 shift 키의 상태 또는 다른 마우스 버튼에 따라 마우스 메시지를 처리 하는 경우 이러한 플래그에 대 한 확인할 수 있습니다. LParam 매개 변수는 다음 값의 조합 될 수 있습니다.

의미
MK_CONTROL 아래로 ctrl 키가.
MK_LBUTTON 마우스 왼쪽된 버튼은 아래로.
MK_MBUTTON 마우스 가운데 버튼은 아래로.
MK_RBUTTON 마우스 오른쪽 버튼은 아래로.
MK_SHIFT 아래로 shift 키가.

메시지를 두 번 클릭

빠르고 연속적으로 두 번 마우스 단추를 클릭할 때 두 번 클릭 메시지를 생성 하는 시스템. 사용자가 단추를 클릭 하면 시스템 커서 핫스폿을 중심으로 하는 사각형을 설정 합니다. 또한 클릭 발생 한 시간을 표시 합니다. 사용자를 두 번 동일한 단추를 클릭, 핫 스폿 사각형 내에서 여전히 및 첫 번째 클릭 이후 경과 된 시간 계산 여부 결정 됩니다. 핫 스폿 사각형 안에 아직도 이며 경과 시간을 하지 않는 경우 두 번 클릭 제한 시간 값을 초과, 시스템을 두 번 클릭 메시지를 생성 합니다.

응용 프로그램을 얻을 하 고 각각 GetDoubleClickTimeSetDoubleClickTime 함수를 사용 하 여 두 번 클릭 제한 시간 값을 설정할 수 있습니다. 와 함께 SPI_SETDOUBLECLICKTIME 플래그를 사용 하 여 응용 프로그램에서 두 번 클릭 시간 제한 값을 설정 하는 또는, 해당 SystemParametersInfo 함수. 그것은 또한 SystemParametersInfo에 SPI_SETDOUBLECLKWIDTH 및 SPI_SETDOUBLECLKHEIGHT 플래그를 전달 하 여 두 번 클릭 하는 검색 시스템 사용 하는 사각형의 크기를 설정할 수 있습니다. 단, 두 번 클릭 제한 시간 값을 설정 하 고 사각형에는 모든 응용 프로그램에 영향을.

응용 프로그램 정의 창 않습니다, 기본적으로 메시지를 수신 하지 두 번 클릭 합니다. 두 번 클릭 메시지를 생성 하는 데 관여 시스템 오버 헤드 때문에 이러한 메시지 클래스를 CS_DBLCLKS 클래스 스타일에 속하는 windows에 대해서만 생성 됩니다. 응용 프로그램 창 클래스를 등록할 때이 스타일을 설정 해야 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. 창 클래스.

두 번 클릭 메시지는 항상 메시지 4 시리즈의 세 번째 메시지가입니다. 처음 두 메시지 버튼 아래로 있고 첫 번째 클릭에 의해 생성 된 메시지 버튼. 두 번째 클릭 뒤에 다른 단추 메시지를 두 번 클릭 메시지를 생성 합니다. 예를 들어, 다음 메시지 시퀀스를 생성 마우스 왼쪽된 버튼을 두 번 클릭:

WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

창이 항상 두 번 메시지를 받기 전에 메시지 버튼을 받습니다, 때문에 응용 프로그램 메시지 버튼 중 시작 작업을 확장 하 두 번 메시지를 일반적으로 사용 합니다. 예를 들어, 사용자 마이크로소프트 페인트의 색상 팔레트에서 색상을 클릭할 때 페인트 팔레트 옆에 선택한 색을 표시 합니다. 색상에 클릭할 일 때 페인트의 색상을 표시 하 고 편집 대화 상자를 엽니다.

 

Index