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