The WM_NCMBUTTONDBLCLK message is posted when the user double-clicks the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
WM_NCMBUTTONDBLCLK nHittest = (INT) wParam; // hit-test value pts = MAKEPOINTS(lParam); // position of cursor
If an application processes this message, it should return zero.
A window need not have the CS_DBLCLKS style to receive WM_NCMBUTTONDBLCLK messages.
Windows generates a WM_NCMBUTTONDBLCLK message when the user presses, releases, and again presses the middle mouse button within the system’s double-click time limit. Double-clicking the middle mouse button actually generates four messages: WM_NCMBUTTONDOWN, WM_NCMBUTTONUP, WM_NCMBUTTONDBLCLK, and WM_NCMBUTTONUP again.
An application can use the MAKEPOINTS macro to convert the lParam parameter to a POINTS structure.
If it is appropriate to do so, the system sends the WM_SYSCOMMAND message to the window.
DefWindowProc, MAKEPOINTS, POINTS, WM_NCHITTEST, WM_NCMBUTTONDOWN, WM_NCMBUTTONUP, WM_SYSCOMMAND