aardio 文档

aardio 范例: 拖放文本

普通窗口拖放 | richedit 拖放 | web.view 拖放 | 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.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;
var winform = win.form(text="拖放演示";right=759;bottom=469)

import web.form;
var wb = web.form(winform);

//导出 aardio 函数给网页调用
wb.external = {
    onDropText = function(text){
        winform.text = "收到拖放的文本:" + text;
    }
}

//网页拖放效果,支持 IE 11
wb.html = /*******
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=11" />
    <style>
        #dropZone {
            width: 300px;
            height: 200px;
            border: 2px dashed #ccc;
            margin: 20px;
            padding: 20px;
            text-align: center;
        }

        #dropZone.dragover {
            background: #e1e1e1;
            border-color: #999;
        }
    </style>
</head>
<body>
    <div id="dropZone">将外部程序的文本拖放到这里</div>

    <script>
        var dropZone = document.getElementById('dropZone');

        //阻止默认拖放行为
        dropZone.addEventListener('dragover', function(e) {
            e.preventDefault();
            this.classList.add('dragover');
        });

        dropZone.addEventListener('dragleave', function(e) {
            this.classList.remove('dragover');
        });

        //处理拖放
        dropZone.addEventListener('drop', function(e) {
            e.preventDefault();
            this.classList.remove('dragover');

            //获取拖放的文本
            var text = e.dataTransfer.getData('text');
            if(text) {
                this.textContent = text;
                //调用 aardio 函数
                external.onDropText(text);
            }
        });
    </script>
</body>
</html>
*******/

winform.show();
win.loopMessage();
Markdown 格式