aardio 文档
aardio 范例: HTML 富文本复制工具
import win.clip;
import string.html;
import win.ui;
/*DSG{{*/
var winform = win.form(text="HTML 富文本复制工具";right=900;bottom=650;bgcolor=0xF5F2ED)
winform.add(
bk={cls="bk";left=7;top=124;right=268;bottom=585;bgcolor=0xFAF7F2;db=1;dl=1;dt=1;z=1};
bk2={cls="bk";left=7;top=4;right=881;bottom=118;bgcolor=0xCE8231;dl=1;dr=1;dt=1;forecolor=0xE19942;linearGradient=1;z=3};
bk3={cls="bk";left=7;top=585;right=881;bottom=647;bgcolor=0xFFFFFF;db=1;dl=1;dr=1;z=2};
btnCopy={cls="button";text="复制到剪贴板";left=621;top=589;right=837;bottom=636;bgcolor=0xFFFFFF;color=0xE19942;db=1;dr=1;font=LOGFONT(h=-14;weight=600);note="可直接粘贴到在线编辑器";z=10};
edit={cls="edit";text="F5";left=16;top=48;right=870;bottom=80;dl=1;dr=1;dt=1;edge=1;font=LOGFONT(h=-14);z=11};
groupPreview={cls="custom";text="预览区域";left=280;top=125;right=880;bottom=575;bgcolor=0xFFFFFF;db=1;dl=1;dr=1;dt=1;edge=1;z=4};
lnkCodeBlock={cls="syslink";text='<a href="#">通用代码块复制工具</a>';left=16;top=614;right=158;bottom=638;bgcolor=0xFFFFFF;db=1;dl=1;font=LOGFONT(h=-13);notify=1;z=5};
radio3D={cls="radiobutton";text="3D 立体";left=16;top=406;right=136;bottom=430;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=20};
radioBadge={cls="radiobutton";text="信息徽章";left=145;top=372;right=265;bottom=396;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=32};
radioBrutalism={cls="radiobutton";text="波普";left=145;top=440;right=265;bottom=464;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=34};
radioCodeTitle={cls="radiobutton";text="代码块标题";left=16;top=543;right=136;bottom=567;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=24};
radioComment={cls="radiobutton";text="代码注释";left=16;top=509;right=136;bottom=533;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=23};
radioCyberpunk={cls="radiobutton";text="赛博朋克";left=145;top=406;right=265;bottom=430;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=33};
radioError={cls="radiobutton";text="错误提示";left=145;top=338;right=265;bottom=362;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=31};
radioGitHub={cls="radiobutton";text="GitHub 风格";left=16;top=166;right=136;bottom=190;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=13};
radioGlass={cls="radiobutton";text="玻璃态";left=145;top=166;right=265;bottom=190;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=26};
radioGradient={cls="radiobutton";text="现代渐变";left=16;top=303;right=136;bottom=327;bgcolor=0xFAF7F2;db=1;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=17};
radioHighlighter={cls="radiobutton";text="荧光笔";left=16;top=475;right=136;bottom=499;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=22};
radioHotkey={cls="radiobutton";text="热键样式";left=16;top=132;right=136;bottom=156;bgcolor=0xFAF7F2;checked=1;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=12};
radioLego={cls="radiobutton";text="乐高积木";left=145;top=509;right=265;bottom=533;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=36};
radioMacTag={cls="radiobutton";text="macOS 标签";left=145;top=303;right=265;bottom=327;bgcolor=0xFAF7F2;db=1;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=30};
radioMedium={cls="radiobutton";text="Medium 风格";left=16;top=269;right=136;bottom=293;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=16};
radioNeon={cls="radiobutton";text="霓虹发光";left=145;top=132;right=265;bottom=156;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);z=25};
radioNeumorphism={cls="radiobutton";text="新拟态";left=145;top=201;right=265;bottom=225;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=27};
radioPixel={cls="radiobutton";text="像素游戏";left=145;top=475;right=265;bottom=499;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=35};
radioRainbow={cls="radiobutton";text="彩虹渐变";left=145;top=235;right=265;bottom=259;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=28};
radioStackOverflow={cls="radiobutton";text="Stack Overflow";left=16;top=235;right=136;bottom=259;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=15};
radioSuccess={cls="radiobutton";text="成功提示";left=16;top=372;right=136;bottom=396;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=19};
radioTerminal={cls="radiobutton";text="终端样式";left=145;top=269;right=265;bottom=293;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=29};
radioTypewriter={cls="radiobutton";text="复古打字机";left=16;top=440;right=136;bottom=464;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=21};
radioVSCode={cls="radiobutton";text="VS Code 深色";left=16;top=201;right=136;bottom=225;bgcolor=0xFAF7F2;dl=1;dt=1;font=LOGFONT(h=-13);tabstop=1;z=14};
radioWarning={cls="radiobutton";text="警告提示";left=16;top=338;right=136;bottom=362;bgcolor=0xFAF7F2;db=1;dl=1;font=LOGFONT(h=-13);tabstop=1;z=18};
static={cls="static";text="输入需要添加样式的文本:";left=16;top=16;right=184;bottom=39;color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-13;weight=500);transparent=1;z=6};
static2={cls="static";text="字体大小:";left=16;top=89;right=90;bottom=112;color=0xFFFFFF;dl=1;dt=1;font=LOGFONT(h=-13;weight=500);transparent=1;z=7};
syslink={cls="syslink";text='<a href="http://gif123.aardio.com">Gif123 动画复制工具</a>';left=167;top=614;right=317;bottom=638;bgcolor=0xFFFFFF;db=1;dl=1;font=LOGFONT(h=-13);notify=1;z=9};
tbFontSize={cls="plus";left=97;top=93;right=680;bottom=108;bgcolor=0xFFE19942;border={radius=-1};color=0xFFFFFF;dl=1;dr=1;dt=1;foreRight=15;forecolor=0xFF5BCFEE;notify=1;paddingBottom=5;paddingTop=5;z=8}
)
/*}}*/
import web.form;
var wb = web.form(winform.groupPreview);
wb.noScriptErr = true;
// 样式模板
var styles = {
// 热键样式
hotkey = `<kbd style="background-color: #2572cb !important ;color: #FFF !important;border-radius: 4px !important ; box-shadow: 0px 3px 0px 1px silver !important ; padding: 4px 8px; margin: 0 4px; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', 'Courier New', monospace; font-size: %s; font-weight: bold;text-align: center;text-transform: uppercase; white-space: nowrap;">%s</kbd>`;
// GitHub 风格
github = `<code style="background-color: #f6f8fa; padding: 2px 6px; border-radius: 3px; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: %s; color: #24292f; border: 1px solid #d0d7de;">%s</code>`;
// VSC 风格
vscode = `<code style="background-color: #1e1e1e; padding: 3px 8px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace; font-size: %s; color: #d4d4d4;">%s</code>`;
// SO 风格
stackoverflow = `<code style="background-color: #e4e6e8; padding: 2px 5px; border-radius: 3px; font-family: 'Courier New', Courier, monospace; font-size: %s; color: #2d2d2d;">%s</code>`;
// Medium 风格
medium = `<code style="background-color: rgba(0,0,0,0.05); padding: 3px 6px; border-radius: 2px; font-family: Menlo, Monaco, monospace; font-size: %s; color: #292929;">%s</code>`;
// 现代渐变
gradient = `<code style="background: linear-gradient(135deg, #667eea 0%%, #764ba2 100%%); padding: 3px 8px; border-radius: 5px; font-family: 'Fira Code', monospace; font-size: %s; color: #ffffff; font-weight: 500;">%s</code>`;
// 霓虹发光效果
neon = `<code style="background-color: #0a0e27; padding: 5px 12px; border-radius: 6px; font-family: 'Courier New', monospace; font-size: %s; color: #fff; text-shadow: 0 0 10px #00fff2, 0 0 20px #00fff2, 0 0 30px #00fff2; border: 2px solid #00fff2; box-shadow: inset 0 0 10px rgba(0, 255, 242, 0.3), 0 0 20px rgba(0, 255, 242, 0.5);">%s</code>`;
// 玻璃态效果
glass = `<code style="background: rgba(255, 255, 255, 0.25); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 4px 10px; border-radius: 8px; font-family: 'SF Pro Display', -apple-system, monospace; font-size: %s; color: #1a1a1a; border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);">%s</code>`;
// 新拟态效果
neumorphism = `<code style="background: #e0e5ec; padding: 6px 14px; border-radius: 10px; font-family: 'Segoe UI', monospace; font-size: %s; color: #4a5568; box-shadow: 9px 9px 16px #a3a9b3, -9px -9px 16px #ffffff; font-weight: 500;">%s</code>`;
// 彩虹渐变
rainbow = `<code style="background: linear-gradient(90deg, #ff6b6b, #ffd93d, #6bcf7f, #4ecdc4, #4e89e3, #9b59b6); padding: 4px 10px; border-radius: 6px; font-family: 'Comic Sans MS', cursive; font-size: %s; color: #ffffff; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.3);">%s</code>`;
// 终端样式
terminal = `<code style="background: #000000; padding: 5px 10px; border-radius: 4px; font-family: 'Fira Code', 'Consolas', monospace; font-size: %s; color: #00ff00; border-left: 3px solid #00ff00; box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$ %s</code>`;
// macOS 标签样式
macTag = `<span style="background: linear-gradient(180deg, #5e5ce6 0%%, #4a4ae6 100%%); padding: 3px 10px; border-radius: 12px; font-family: -apple-system, BlinkMacSystemFont, sans-serif; font-size: %s; color: #ffffff; font-weight: 500; box-shadow: 0 2px 4px rgba(94, 92, 230, 0.3);">%s</span>`;
// 警告提示样式
warning = `<mark style="background: linear-gradient(135deg, #ffd700 0%%, #ffb347 100%%); padding: 2px 8px; border-radius: 4px; font-family: 'Helvetica Neue', Arial, sans-serif; font-size: %s; color: #663300; font-weight: 600; box-shadow: 0 2px 4px rgba(255, 183, 71, 0.3);">⚠️ %s</mark>`;
// 成功提示样式
success = `<span style="background: linear-gradient(135deg, #84fab0 0%%, #8fd3f4 100%%); padding: 3px 10px; border-radius: 5px; font-family: 'Segoe UI', Tahoma, sans-serif; font-size: %s; color: #155724; font-weight: 500; border: 1px solid rgba(132, 250, 176, 0.5);">✓ %s</span>`;
// 3D 立体效果
three3d = `<code style="background: #f4f4f4; padding: 5px 12px; border-radius: 4px; font-family: 'Impact', sans-serif; font-size: %s; color: #333; text-shadow: 1px 1px 0px #fff, 2px 2px 0px #b0b0b0, 3px 3px 0px #c0c0c0; font-weight: bold; transform: perspective(500px) rotateY(-5deg);">%s</code>`;
// 复古打字机效果
typewriter = `<code style="background: #fffef0; padding: 4px 8px; border: 2px solid #3a3a3a; border-radius: 2px; font-family: 'Courier Prime', 'Courier', monospace; font-size: %s; color: #2a2a2a; box-shadow: 2px 2px 0px #3a3a3a; font-weight: 400; letter-spacing: 0.05em;">%s</code>`;
// 荧光笔标记效果
highlighter = `<mark style="background: linear-gradient(to bottom, transparent 50%%, #ffff00 50%%); padding: 0 4px; font-family: 'Arial', sans-serif; font-size: %s; color: #000; font-weight: 500;">%s</mark>`;
// 代码注释样式
comment = `<code style="background: #f0f0f0; padding: 2px 6px; border-left: 4px solid #999; font-family: 'Monaco', 'Consolas', monospace; font-size: %s; color: #666; font-style: italic;">// %s</code>`;
// 错误提示样式
error = `<code style="background: #fee; padding: 3px 8px; border-radius: 3px; border: 1px solid #fcc; font-family: 'Consolas', monospace; font-size: %s; color: #c00;">❌ %s</code>`;
// 信息徽章样式
badge = `<span style="background: linear-gradient(135deg, #667eea 0%%, #764ba2 100%%); padding: 2px 8px; border-radius: 10px; font-family: -apple-system, sans-serif; font-size: %s; color: #fff; font-weight: 600; display: inline-block; box-shadow: 0 2px 4px rgba(0,0,0,0.2);">%s</span>`;
// 代码块标题样式
codeTitle = `<code style="background: #2d2d2d; padding: 4px 10px; border-top-left-radius: 6px; border-top-right-radius: 6px; font-family: 'Monaco', monospace; font-size: %s; color: #61dafb; border-bottom: 2px solid #61dafb;">📁 %s</code>`;
// 赛博朋克风格 (Cyberpunk)
cyberpunk = `<code style="background-color: #0d0221; border: 1px solid #00f3ff; color: #00f3ff; padding: 4px 10px; font-family: 'Consolas', monospace; font-size: %s; text-shadow: 2px 2px 0px #ff00ff; box-shadow: 3px 3px 0px #ff00ff; font-weight: bold; letter-spacing: 1px;">%s</code>`;
// 新丑主义/波普风格 (Brutalism)
brutalism = `<span style="background-color: #ff90e8; border: 3px solid #000; color: #000; padding: 4px 8px; font-family: 'Arial Black', sans-serif; font-size: %s; font-weight: 900; box-shadow: 4px 4px 0px #000; transform: rotate(-1deg); display: inline-block;">%s</span>`;
// 像素游戏风格 (8-Bit Pixel)
pixel = `<code style="background-color: #2c2c2c; border: 4px solid #fff; outline: 4px solid #000; color: #39ff14; padding: 4px 8px; font-family: 'Courier New', monospace; font-size: %s; font-weight: bold; image-rendering: pixelated; margin: 4px;">%s</code>`;
// 乐高积木 (Lego Style)
lego = `<span style="background: #e3000b; color: #fff; padding: 4px 10px; font-family: Arial, sans-serif; font-size: %s; font-weight: 900; border-top: 2px solid #ff4d4d; border-left: 2px solid #ff4d4d; border-right: 2px solid #990000; border-bottom: 2px solid #990000; text-shadow: 1px 1px 0 rgba(0,0,0,0.2);">%s</span>`;
}
// 当前选中的样式
var currentStyle = "hotkey";
var currentHtml = "";
// 更新预览
updatePreview = function(){
var text = winform.edit.text;
if(!text || text == "") text = "示例文本";
var fontSize = winform.tbFontSize.progressPos;
fontSize = (1.5 /100 * fontSize + 0.5) + "em";
var template = styles[currentStyle];
currentHtml = string.format(template, fontSize, text);
var html = `
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
padding: 20px;
line-height: 1.6;
color: #333;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 90vh;
margin: 0;
background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ee 100%);
overflow: hidden;
height: 80%;
}
html {
padding: 10px;
background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ee 100%);
}
pre {
margin-top: 20px;
background: #fff;
padding: 15px;
border-radius: 8px;
overflow-x: auto;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
border: 1px solid #e4e8ee;
}
blockquote {
background: #f8f9fb;
border-left: 4px solid #4299e1;
padding: 12px 16px;
margin: 20px 0;
border-radius: 0 8px 8px 0;
color: #4a5568;
}
blockquote ol {
margin: 0;
padding-left: 20px;
}
blockquote li {
margin: 4px 0;
}
`+ $"~\doc\style.css" +`
</style>
<script>`+$"~\doc\index.js"+`
Prism.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=.$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Prism.languages.xml=Prism.languages.markup,Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;
</script>
</head>
<body>
<div style="background: #fff; padding: 30px 50px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08);">
`+currentHtml+`
</div>
<div style="width: 100%; overflow: hidden; margin-top:20px;">
<pre style="white-space: pre-wrap; word-wrap: break-word; overflow-wrap: break-word; max-width: 100%%;">
<code style="white-space: inherit; word-break: break-all; display: block;" class="html language-html">
`+string.html.escape(currentHtml)+`
</code></pre>
<blockquote id="info">
<ol>
<li>请先在左侧点选样式
<li>按方向键可以快速切换,按回车键可快速复制
<li>在微信公众号编辑器内先输入 2 个空格,然后粘贴在空格中间。
</ol>
</blockquote>
</div>
</body></html>`
wb.html = html;
}
// 单选框事件 - 第一列
winform.radioHotkey.oncommand = function(id,event){
currentStyle = "hotkey";
updatePreview();
}
winform.radioGitHub.oncommand = function(id,event){
currentStyle = "github";
updatePreview();
}
winform.radioVSCode.oncommand = function(id,event){
currentStyle = "vscode";
updatePreview();
}
winform.radioStackOverflow.oncommand = function(id,event){
currentStyle = "stackoverflow";
updatePreview();
}
winform.radioMedium.oncommand = function(id,event){
currentStyle = "medium";
updatePreview();
}
winform.radioGradient.oncommand = function(id,event){
currentStyle = "gradient";
updatePreview();
}
// 单选框事件 - 第二列
winform.radioNeon.oncommand = function(id,event){
currentStyle = "neon";
updatePreview();
}
winform.radioGlass.oncommand = function(id,event){
currentStyle = "glass";
updatePreview();
}
winform.radioNeumorphism.oncommand = function(id,event){
currentStyle = "neumorphism";
updatePreview();
}
winform.radioRainbow.oncommand = function(id,event){
currentStyle = "rainbow";
updatePreview();
}
winform.radioTerminal.oncommand = function(id,event){
currentStyle = "terminal";
updatePreview();
}
winform.radioMacTag.oncommand = function(id,event){
currentStyle = "macTag";
updatePreview();
}
// 单选框事件 - 第三列和第四列
winform.radioWarning.oncommand = function(id,event){
currentStyle = "warning";
updatePreview();
}
winform.radioSuccess.oncommand = function(id,event){
currentStyle = "success";
updatePreview();
}
winform.radio3D.oncommand = function(id,event){
currentStyle = "three3d";
updatePreview();
}
winform.radioTypewriter.oncommand = function(id,event){
currentStyle = "typewriter";
updatePreview();
}
winform.radioHighlighter.oncommand = function(id,event){
currentStyle = "highlighter";
updatePreview();
}
winform.radioComment.oncommand = function(id,event){
currentStyle = "comment";
updatePreview();
}
winform.radioError.oncommand = function(id,event){
currentStyle = "error";
updatePreview();
}
winform.radioBadge.oncommand = function(id,event){
currentStyle = "badge";
updatePreview();
}
winform.radioCodeTitle.oncommand = function(id,event){
currentStyle = "codeTitle";
updatePreview();
}
winform.radioCyberpunk.oncommand = function(id,event){
currentStyle = "cyberpunk";
updatePreview();
}
winform.radioBrutalism.oncommand = function(id,event){
currentStyle = "brutalism";
updatePreview();
}
winform.radioPixel.oncommand = function(id,event){
currentStyle = "pixel";
updatePreview();
}
winform.radioLego.oncommand = function(id,event){
currentStyle = "lego";
updatePreview();
}
// 编辑框文本改变事件
winform.edit.oncommand = function(id,event){
updatePreview();
}
// 复制按钮
winform.btnCopy.oncommand = function(id,event){
winform.btnCopy.disabledText = ["✶","✸","✹","✺","✹","✷"]
import win.clip.html;
var cbHtml = win.clip.html();
cbHtml.write(currentHtml);
// 彩色 emoji 动画效果
var frames = {
"📋 快好了...",
"📋✨ 快好了....",
"📋✨✨✨✨ 快好了...",
"📋✨✨✨✨✨✨✨✨ 快好了..."
};
for(i=1;#frames){
wb.getEle("info").innerText = frames[i];
thread.delay(i < 4 ? 100 : 150); // 前面快一点,后面慢一点
}
wb.getEle("info").innerText = "✅ 已复制到剪贴板!请在支持 HTML 的富文本编辑器中直接粘贴。"
winform.btnCopy.disabledText = null;
}
winform.onOk = winform.btnCopy.oncommand;
// 链接点击事件
winform.lnkCodeBlock.onHyperlinkClick = function(nmSysLink,url,id,index){
import ide;
ide.createProcess("~/example/WebUI/web.view/OtherApps/prism.aardio");
}
// 滑尺设置
winform.tbFontSize.setTrackbarRange(1,100);
winform.tbFontSize.progressPos = 27;
winform.tbFontSize.onPosChanged = function( pos,triggeredByUser ){
if(triggeredByUser){
updatePreview();
}
}
winform.tbFontSize.skin({
background={
default=0xFFD9904A // 蓝色轨道背景
};
foreground={
default=0xFFEECF5B; // 浅蓝色进度
hover=0xFFFFE066 // 悬停更亮
};
color={
default=0xFFFFFFFF; // 白色滑块
hover=0xFFF0F0F0
}
})
updatePreview();
import win.debounce;
updatePreview = win.debounce(updatePreview,500);
winform.show();
win.loopMessage();
Markdown 格式