普通窗口拖放 | richedit 拖放 | web.view 拖放 | web.form 拖放 | web.layout 拖放 | web.sciter 拖放 | 文件拖放
/*
普通窗口拖放: https://www.aardio.com/zh-cn/doc/example/Windows/Effects/DnD.html
richedit 拖放: https://www.aardio.com/zh-cn/doc/example/Windows/Edit/oleCallback.html
web.view 拖放: https://www.aardio.com/zh-cn/doc/example/WebUI/web.view/dnd.html
web.form 拖放: https://www.aardio.com/zh-cn/doc/example/WebUI/web.form/dnd.html
web.layout 拖放: https://www.aardio.com/zh-cn/doc/example/WebUI/HTMLayout/exchange.html
web.sciter 拖放: https://www.aardio.com/zh-cn/doc/example/WebUI/Sciter.JS/exchange.html
文件拖放: https://www.aardio.com/zh-cn/doc/example/Windows/Effects/onDropFiles.html
*/
import win.ui;
/*DSG{{*/
var winform = win.form(text="接收系统拖放的文本";right=759;bottom=469)
winform.add()
/*}}*/
import com.interface.IDropTarget;
var dropTarget = com.interface.IDropTarget.create({
DragEnter = function(dataObj,keyState,x,y,effect){
//导入 COM 原生接口对象
var dataObj = com.interface.IDataObject(dataObj)
if(dataObj.isText()){
//第二个返回值指定接受拖放效果,不指定或返回 0 则表示拒绝拖放。
return 0,1/*_DROPEFFECT_COPY*/;
}
//COM 原生接口返回 0 表示成功,也可以不写,省略默认返回 0 。
return 0;
}
DragOver = function(keyState,x,y,effect){
return 0,1/*_DROPEFFECT_COPY*/;
}
Drop = function(dataObj,keyState,x,y,effect){
var dataObj = com.interface.IDataObject(dataObj)
var txt = dataObj.getText();
if(txt){
winform.text = "系统拖放文本:" + txt;
}
return 0,1;
}
DragLeave = function(){}
}
)
//允许窗口支持系统拖放。
dropTarget.register(winform)
winform.show();
win.loopMessage();
Markdown 格式