当用户在窗口的非客户端区域内双击鼠标右键时,会发出WM_NCRBUTTONDBLCLK消息。此消息被发布到包含光标的窗口。如果窗口已经捕获鼠标,则不会发布此消息。
WM_NCRBUTTONDBLCLK
nHittest = (INT) wParam; //命中检测值
pts = MAKEPOINTS(lParam); //光标的位置
参数
【nHittest】
价值【wParam中】.指定由于处理WM_NCHITTEST消息而由DefWindowProc函数返回的命中检测值。有关命中测试值的列表,请参阅WM_NCHITTEST.
【分】
价值【lParam的】.指定包含游标的x和y坐标的POINTS结构。坐标相对于屏幕的左上角。
返回值
如果应用程序处理此消息,则应返回零。
备注
窗口不需要CS_DBLCLKS样式来接收WM_NCRBUTTONDBLCLK消息。
当用户在系统的双击时间限制内按下,释放并再次按下鼠标右键时,Windows会生成WM_NCRBUTTONDBLCLK消息。双击鼠标右键实际上会生成四个消息:WM_NCRBUTTONDOWN,WM_NCRBUTTONUP,WM_NCRBUTTONDBLCLK和WM_NCRBUTTONUP。
一个应用程序可以使用MAKEPOINTS宏将【lParam的】参数转换为POINTS结构。
如果这样做,系统会将WM_SYSCOMMAND消息发送到窗口。
也可以看看
DefWindowProc, MAKEPOINTS, POINTS, WM_NCHITTEST, WM_NCRBUTTONDOWN, WM_NCRBUTTONUP, WM_SYSCOMMAND