windows_programming_notes.nbk: Home | Index | Next Page: WM_MOUSEWHEEL | Previous Page: WM_MOUSELEAVE


 WM_MOUSEMOVE

The WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.

A window receives this message through its WindowProc function.

    LRESULT CALLBACK WindowProc(
      HWND hwnd,       // handle to window
      UINT uMsg,       // WM_MOUSEMOVE
      WPARAM wParam,   // key indicators
      LPARAM lParam    // horizontal and vertical position
    );

Parameters

Return Values

If an application processes this message, it should return zero.

Remarks

Use the following code to obtain the horizontal and vertical position:

xPos = GET_X_LPARAM(lParam); yPos = GET_Y_LPARAM(lParam); You can also use the MAKEPOINTS macro to convert the lParam parameter to a POINTS structure.

Requirements

  Windows NT/2000 or later: Requires Windows NT 3.1 or later.
  Windows 95/98/Me: Requires Windows 95 or later.
  Header: Declared in Winuser.h; include Windows.h.

//
//  Process WM_MOUSEMOVE message for window/dialog: 
//
void _OnMouseMove(HWND hwnd, int x, int y, UINT keyFlags)
{
	// TODO: Add your message processing code here...
}

windowsx.h:#define HANDLE_WM_MOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam
),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)

windows_programming_notes.nbk: Home | Index | Next Page: WM_MOUSEWHEEL | Previous Page: WM_MOUSELEAVE


Notebook exported on Monday, 7 July 2008, 18:56:50 PM Eastern Daylight Time