窗口非客户区——通知消息
窗口非客户区包括标题栏菜单栏最小最大化关闭按钮等区域,也就是可以设计显示控件的区域是客户区
鼠标左键按住标题栏可以拖曳窗口移动位置,但是对于无标题栏的窗口怎么拖动位置呢? 判断(消息) 为 按下左键{发送消息(窗口,区外按左,2,0)}在窗口客户区按下鼠标左键 发送消息是区外按左,也就是在非客户区按下鼠标左键,参数写2是标题栏,模拟鼠标左键点击标题的消息 然后移动鼠标,窗体就会跟随鼠标一起移动了,松开鼠标左键再移动鼠标,窗体也不再跟随鼠标移动 ③参数:点击区域 0 在屏幕与窗口分界线上 1 在窗口客户区 2 在标题栏 3 菜单或子窗口的关闭按钮 4 在大小框中 5 在菜单中 6 在水平滚动条中 7 在垂直滚动条 8 在最小化按钮中 9 在最大化按钮中 10 在调整窗口宽度的左边框 11 在调整窗口宽度的右边框 12 在窗口的上水平边框中 13 边框的左上角 14 边框的右上角 15 垂直调整边框中 16 边框左下角(对角调整) 17 边框右下角(对角调整) 18 不可调大小的边框中 20 在关闭按钮中 21 在帮助按钮中中文名字 | 常量数值 | 英文名称 | 释义 |
区外删除 | $0082 | WM_NCDESTROY | 本消息通知某窗口,非客户区正在销毁。③参数:0;④数据:0 |
区外调整 | $0083 | WM_NCCALCSIZE | 当某窗口的客户区的大小和位置须被计算时发送本消息。 ③参数:0不需要指示工作区的有效部分,非0需要; ④数据:参数为真NCCALCSIZE_PARAMS 结构,参数为假 矩形类 |
光标离开 | $0084 | WM_NCHITTEST | 当用户在在非客户区移动鼠标、按住或释放鼠标时发送本消息(击中 测试);若鼠标没有被捕获,则在得到光标之后发出。 ③参数:0;④数据:屏幕坐标x/y |
区外重绘 | $0085 | WM_NCPAINT | 当窗口框架(非客户区)必须被被重绘时,应用程序发送本消息给该窗口。 ③参数:区域;④数据:0 |
区外激活 | $0086 | WM_NCACTIVATE | 本消息发送给某窗口,在窗口的非客户区被激活时重绘窗口。 ③参数:0绘制非活动标题栏或图标,非0活动; ④数据:0活动窗口,-1不重绘,非活动窗口区域指针 |
经过区外 | $00A0 | WM_NCMOUSEMOVE | 当光标在某窗口的非客户区内移动时,发送本消息给该窗口。 ③参数:点击区域;④数据:坐标x/y; |
区外按左 | $00A1 | WM_NCLBUTTONDOWN | 当光标在某窗口的非客户区内的同时按下鼠标左键, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外放左 | $00A2 | WM_NCLBUTTONUP | 当用户释放鼠标左键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外双左 | $00A3 | WM_NCLBUTTONDBLCLK | 当用户双击鼠标左键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外按右 | $00A4 | WM_NCRBUTTONDOWN | 当用户按下鼠标右键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外放右 | $00A5 | WM_NCRBUTTONUP | 当用户释放鼠标右键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外双右 | $00A6 | WM_NCRBUTTONDBLCLK | 当用户双击鼠标右键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外按中 | $00A7 | WM_NCMBUTTONDOWN | 当用户按下鼠标中键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外放中 | $00A8 | WM_NCMBUTTONUP | 当用户释放鼠标中键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外双中 | $00A9 | WM_NCMBUTTONDBLCLK | 当用户双击鼠标中键的同时光标在某窗口的非客户区内时, 会发送本消息。③参数:点击区域;④数据:坐标x/y; |
区外按向 | $00AB | WM_NCXBUTTONDOWN | 当光标位于窗口非工作区中并且用户按下鼠标前进后退按钮时发送。 ③参数:1后退(X1),2前进(X2);④数据:坐标类; |
区外放向 | $00AC | WM_NCXBUTTONUP | 当光标位于窗口非工作区中并且用户释放鼠标前进后退按钮时发送。 ③参数:1后退(X1),2前进(X2);④数据:坐标类; |
区外双向 | $00AD | WM_NCXBUTTONDBLCLK | 当光标位于窗口非工作区中并且用户双击鼠标前进后退按钮时发送。 ③参数:1后退(X1),2前进(X2);④数据:坐标类; |