aardio利用鼠标钩子响应文件拖动过程(一)

本文探讨了在aardio中如何应对文件拖动而非拖放的场景。由于在文件拖动过程中常规事件和跟踪器失效,作者通过使用鼠标钩子mouse.hook来解决这一难题。在钩子函数中,判断鼠标左键按下状态,并发送消息给窗体进行后续处理。尽管存在无法区分空拖和文件拖动的挑战,但作者计划在后续文章中继续完善这一功能。
摘要由CSDN通过智能技术生成

 首先说明,这里说文件拖动过程,不是拖放过程。拖放的话,onDropFiles事件轻松搞定。

拖动就是鼠标拖着文件来到窗体(或控件)上,没有放手,窗体就做出响应。比如在高级选项卡中,鼠标拖着文件来到某一选项卡上,该选项卡展开。

这个问题的难点在于,当拖动文件的时候,窗体的各种事件、鼠标跟踪器win.ui.tracker全部失灵,wndproc回调函数也收不到任何消息,可以试一试。

import win.ui;
import console
/*DSG{
  {*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add()
/*}}*/
var i=0
winform.wndproc = function(hwnd,message,wParam,lParam){ 
	i++
	console.log("消息数:"+i,"消息值:"+message)
}
winform.show();
win.loopMessage();

 那怎么办呢,需要用鼠标钩子mouse.hook。在钩子里,参数很多,我还不完全知道它们的用法,暂时就按照 鼠标左键按下尚未抬起这样来判断。注意,钩子函数的一再提示,不能处理太复杂的东西,好吧,就只让它给窗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值