非客户区域鼠标消息

【勇芳软件工作室】汉化HomePreviousNext

当窗口的任何部分(客户区域除外)发生鼠标事件时,窗口将收到非临时区域鼠标消息。窗口的【非临床区】由其边框,菜单栏,标题栏,滚动条,系统菜单(也称为控制菜单),最小化按钮和最大化按钮组成。

Windows生成非客户端区域消息主要用于自己的使用。例如,当光标热点移动到窗口的边框中时,Windows将使用非客户区域消息将光标更改为双向箭头。窗口必须将非临时区域鼠标消息传递给DefWindowProc功能,以利用Windows中的内置鼠标界面。

每个客户区鼠标消息都有一个相应的非客户区鼠标消息。除了非客户区域消息的命名常量包括字母“NC”之外,这些消息的名称是类似的。例如,移动非客户区域中的光标会生成WM_NCMOUSEMOVE消息,而当光标位于非客户区域时按鼠标左键会生成WM_NCLBUTTONDOWN消息。

非客户区鼠标消息的【lParam的】参数是包含光标热点的x和y坐标的POINTS结构。与客户端区域鼠标消息的坐标不同,坐标在【屏幕坐标】中给出,而不是客户端坐标。在屏幕坐标系中,屏幕上的所有点都相对于屏幕左上角的坐标(0,0)。

【wParam中】参数包含一个【命中测试值】,表示鼠标事件发生在非客户区域的位置。以下部分解释了命中测试值的目的。