极语言官方网站

鼠标事件——通知消息

计算鼠标手势:
坐标值 上次;坐标值 当前;两个结构体分别记录上次和当前鼠标位置
判断(消息)
  为 按下左键,按下右键{上次=数据}按下鼠标左键或右键时记住当前鼠标位置到上次
  为 鼠标移动{当前=数据;鼠标手势(参数)上次=数据;}移动鼠标先记住当前鼠标位置到当前
然后调用鼠标手势并提交参数,通过它可以判断是否按下了鼠标左键或者右键,
计算当前鼠标位置和上次位置差值,最后再把当前坐标写入上次

程序段 鼠标手势(参数)在这个程序段里计算上次鼠标位置和当前位置差   判断(参数)为 1{按下鼠标左键时移动鼠标的计算   如果(上次.左<当前.左)鼠标向右移动    如果(上次.左>当前.左)鼠标向左移动    如果(上次.顶<当前.顶)鼠标向下移动    如果(上次.顶>当前.顶)鼠标向上移动}    为 2{按下鼠标右键时移动鼠标的计算   如果(上次.左<当前.左)鼠标向右移动    如果(上次.左>当前.左)鼠标向左移动    如果(上次.顶<当前.顶)鼠标向下移动    如果(上次.顶>当前.顶)鼠标向上移动}

捕获光标$0020WM_SETCURSOR若鼠标光标在某窗口内移动且鼠标没被捕获时,
就会发送本消息给某个窗口。③参数:窗口;④数据:命中消息
拖曳后窗$0021WM_MOUSEACTIVATE当鼠标光标在某个未激活窗口内,而用户正按着鼠标的某个键时,
会发送本消息给当前窗口。③参数:父窗;④数据:命中消息;
返回值:1激活窗口不丢弃鼠标,2激活丢弃鼠标,
3不激活不丢弃,4不激活丢弃鼠标
点击右键$007BWM_CONTEXTMENU当用户在某窗口中点击右键就发送本消息给该窗口,设置右键菜单。
③参数:窗口;④数据:屏幕坐标x/y
命令事件$0111WM_COMMAND用户选择一条菜单命令项或某控件发送一条通知消息给其父窗,
或某快捷键被翻译时,本消息被发送。
③参数:低位=编号,高位=事件;④数据:控件;
菜单高位0,快捷键高位1,两者数据都是0
系统命令$0112WM_SYSCOMMAND当用户选择一条系统菜单命令
用户最大化或最小化或还原或关闭时。
③参数:命令;④数据:点菜单时鼠标位置
程序命令$319WM_APPCOMMAND用户点击应用程序命令按钮或键盘命令键(如导航刷新搜索)
③参数:窗口;④数据:命令/设备/按键
鼠标起始$0200WM_MOUSEFIRST鼠标移动时发生(与WM_MOUSEMOVE等值)
常用于判断鼠标消息的范围
鼠标移动$0200WM_MOUSEMOVE当鼠标在窗口客户区移动时。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
按下左键$0201WM_LBUTTONDOWN当鼠标左键在窗口客户区按下。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
释放左键$0202WM_LBUTTONUP当鼠标左键在窗口客户区放开。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
双击左键$0203WM_LBUTTONDBLCLK当鼠标左键在窗口客户区双击。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
按下右键$0204WM_RBUTTONDOWN当鼠标右键在窗口客户区按下。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
释放右键$0205WM_RBUTTONUP当鼠标右键在窗口客户区放开。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
双击右键$0206WM_RBUTTONDBLCLK当鼠标右键在窗口客户区双击。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
按下中键$0207WM_MBUTTONDOWN当鼠标中键在窗口客户区按下。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
释放中键$0208WM_MBUTTONUP当鼠标中键在窗口客户区放开。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
双击中键$0209WM_MBUTTONDBLCLK当鼠标中键在窗口客户区双击。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
滚轮转动$020AWM_MOUSEWHEEL当滚动鼠标滚轮时。
③参数:高位120向后,-120向前;低位1左键,2右键,4SHIFT,
8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;
鼠标结束$020AWM_MOUSELASTWM_MBUTTONDBLCLK的别名,通常用于判断鼠标消息的范围,
对应的还有WM_MOUSEFIRST(鼠标起始)
失去鼠标$215WM_CAPTURECHANGED当它失去捕获的鼠标时,发送本消息给窗口。③参数:0;④数据:窗口
移动消息$216WM_MOVING当用户在移动窗口时发送本消息,通过本消息应用程序以监视窗口
大小和位置,也可修改它们。③参数:0;④数据:矩形类
拖放文件$233WM_DROPFILES鼠标拖放时,放下事件产生时发送本消息,比如:文件拖放功能。
③参数:文件;④数据:0
鼠标经外$2A0WM_NCMOUSEHOVER当光标悬停在窗口的非工作区上的达到指定时间发送本消息。
③参数:命中值;④数据:坐标类;
鼠标经过$2A1WM_MOUSEHOVER当光标悬停在窗口的工作区上的达到指定时间发送本消息。
③参数:1左键,2右键,4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;
④数据:坐标x/y;
鼠标离外$2A2WM_NCMOUSELEAVE当光标离开之前调用 TrackMouseEvent 中指定的窗口的非工作区时
发送本消息。③参数:0;④数据:0;
鼠标离开$2A3WM_MOUSELEAVE鼠标离开控件时,触发发送本消息。③参数:1左键,2右键,
4SHIFT,8CTRL,$10中键,$20=X1,$40=X2;④数据:坐标x/y;