首先说明,这里说文件拖动过程,不是拖放过程。拖放的话,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。在钩子里,参数很多,我还不完全知道它们的用法,暂时就按照 鼠标左键按下尚未抬起这样来判断。注意,钩子函数的一再提示,不能处理太复杂的东西,好吧,就只让它给窗