极语言官方网站

窗口非客户区——通知消息

窗口非客户区包括标题栏菜单栏最小最大化关闭按钮等区域,也就是可以设计显示控件的区域是客户区

鼠标左键按住标题栏可以拖曳窗口移动位置,但是对于无标题栏的窗口怎么拖动位置呢?

判断(消息) 为 按下左键{发送消息(窗口,区外按左,2,0)}在窗口客户区按下鼠标左键

发送消息是区外按左,也就是在非客户区按下鼠标左键,参数写2是标题栏,模拟鼠标左键点击标题的消息

然后移动鼠标,窗体就会跟随鼠标一起移动了,松开鼠标左键再移动鼠标,窗体也不再跟随鼠标移动

③参数:点击区域

0 在屏幕与窗口分界线上

1 在窗口客户区

2 在标题栏

3 菜单或子窗口的关闭按钮

4 在大小框中

5 在菜单中

6 在水平滚动条中

7 在垂直滚动条

8 在最小化按钮中

9 在最大化按钮中

10 在调整窗口宽度的左边框

11 在调整窗口宽度的右边框

12 在窗口的上水平边框中

13 边框的左上角

14 边框的右上角

15 垂直调整边框中

16 边框左下角(对角调整)

17 边框右下角(对角调整)

18 不可调大小的边框中

20 在关闭按钮中

21 在帮助按钮中


中文名字常量数值英文名称释义
区外删除$0082WM_NCDESTROY本消息通知某窗口,非客户区正在销毁。③参数:0;④数据:0
区外调整$0083WM_NCCALCSIZE当某窗口的客户区的大小和位置须被计算时发送本消息。
③参数:0不需要指示工作区的有效部分,非0需要;
④数据:参数为真NCCALCSIZE_PARAMS 结构,参数为假 矩形类
光标离开$0084WM_NCHITTEST当用户在在非客户区移动鼠标、按住或释放鼠标时发送本消息(击中
测试);若鼠标没有被捕获,则在得到光标之后发出。
③参数:0;④数据:屏幕坐标x/y
区外重绘$0085WM_NCPAINT当窗口框架(非客户区)必须被被重绘时,应用程序发送本消息给该窗口。
③参数:区域;④数据:0
区外激活$0086WM_NCACTIVATE本消息发送给某窗口,在窗口的非客户区被激活时重绘窗口。
③参数:0绘制非活动标题栏或图标,非0活动;
④数据:0活动窗口,-1不重绘,非活动窗口区域指针
经过区外$00A0WM_NCMOUSEMOVE当光标在某窗口的非客户区内移动时,发送本消息给该窗口。
③参数:点击区域;④数据:坐标x/y;
区外按左$00A1WM_NCLBUTTONDOWN当光标在某窗口的非客户区内的同时按下鼠标左键,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外放左$00A2WM_NCLBUTTONUP当用户释放鼠标左键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外双左$00A3WM_NCLBUTTONDBLCLK当用户双击鼠标左键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外按右$00A4WM_NCRBUTTONDOWN当用户按下鼠标右键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外放右$00A5WM_NCRBUTTONUP当用户释放鼠标右键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外双右$00A6WM_NCRBUTTONDBLCLK当用户双击鼠标右键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外按中$00A7WM_NCMBUTTONDOWN当用户按下鼠标中键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外放中$00A8WM_NCMBUTTONUP当用户释放鼠标中键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外双中$00A9WM_NCMBUTTONDBLCLK当用户双击鼠标中键的同时光标在某窗口的非客户区内时,
会发送本消息。③参数:点击区域;④数据:坐标x/y;
区外按向$00ABWM_NCXBUTTONDOWN当光标位于窗口非工作区中并且用户按下鼠标前进后退按钮时发送。
③参数:1后退(X1),2前进(X2);④数据:坐标类;
区外放向$00ACWM_NCXBUTTONUP当光标位于窗口非工作区中并且用户释放鼠标前进后退按钮时发送。
③参数:1后退(X1),2前进(X2);④数据:坐标类;
区外双向$00ADWM_NCXBUTTONDBLCLK当光标位于窗口非工作区中并且用户双击鼠标前进后退按钮时发送。
③参数:1后退(X1),2前进(X2);④数据:坐标类;