aardio 文档

aardio 范例: 接收系统拖放的文本

普通窗口拖放 | 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 格式