MFC Library Reference |
The framework calls this member function as a user rotates the mouse wheel and encounters the wheel's next notch.
afx_msg BOOL OnMouseWheel( UINT nFlags, short zDelta, CPoint pt );
Parameters
- nFlags
- Indicates whether various virtual keys are down. This parameter can be any combination of the following values:
- MK_CONTROL Set if the CTRL key is down.
- MK_LBUTTON Set if the left mouse button is down.
- MK_MBUTTON Set if the middle mouse button is down.
- MK_RBUTTON Set if the right mouse button is down.
- MK_SHIFT Set if the SHIFT key is down.
- zDelta
- Indicates distance rotated. The zDelta value is expressed in multiples or divisions of WHEEL_DELTA, which is 120. A value less than zero indicates rotating back (toward the user) while a value greater than zero indicates rotating forward (away from the user). The user can reverse this response by changing the Wheel setting in the mouse software. See the Remarks for more information about this parameter.
- pt
- Specifies the x- and y-coordinate of the cursor. These coordinates are always relative to the upper-left corner of the screen.
Return Value
Nonzero if mouse wheel scrolling is enabled; otherwise 0.
Remarks
Unless overridden, OnMouseWheel calls the default of WM_MOUSEWHEEL. Windows automatically routes the message to the control or child window that has the focus. The Win32 function DefWindowProc propagates the message up the parent chain to the window that processes it.
The zDelta parameter is a multiple of WHEEL_DELTA, which is set at 120. This value is the threshold for an action to be taken, and one such action (for example, scrolling forward one notch) should occur for each delta.
The delta was set to 120 to allow for future finer-resolution wheels, such as a freely-rotating wheel with no notches. Such a device might send more messages per rotation, but with a smaller value in each message. To support this possibility, either aggregate the incoming delta values until WHEEL_DELTA is reached (so you get the same response for a given delta-rotation), or scroll partial lines in response to the more frequent messages. You could also choose your scroll granularity and accumulate deltas until WHEEL_DELTA is reached.
Override this member function to provide your own mouse-wheel scrolling behavior.
Note OnMouseWheel handles messages for Windows NT 4.0. For Windows 95/98 or Windows NT 3.51 message handling, use OnRegisteredMouseWheel.
------------------------------------------------------------------------------------------ MSDN
short zDelta는 마우스 휠의 상,하 스크롤시 120, -120값을 받고
CPint pt는 스크롤한 마우스 포인터의 x, y 좌표를 나타내며 스크린의 절대 좌표를 나타낸다.
만일 생성한 WIndow 나 Dialog에서 사용할시 ScreenToClient()로 변환하여 사용한다.
[출처] OnMouseWheel (마우스 휠 control)|작성자 소리
'프로그래밍 > 공부관련' 카테고리의 다른 글
[D3D] Texture Splatting 텍스쳐 스플래팅 (0) | 2010.03.22 |
---|---|
CString -> char * (0) | 2010.03.21 |
지형픽킹 (0) | 2010.03.09 |
D3D reSet 과 lostDevice을 고려하고 시작을 했어야 했는데........ (0) | 2010.03.01 |
d3d 라이트 (0) | 2010.02.21 |