aardio 文档
aardio 范例: plus 控件 - 实现组合框
import win.ui;
import fonts.fontAwesome;
/*DSG{{*/
var winform = win.form(text="plus 控件 - 实现组合框";right=748;bottom=345)
winform.add(
chkOnPlusGroup={cls="plus";text="复选框";left=515;top=71;right=598;bottom=102;align="left";dr=1;dt=1;font=LOGFONT(h=-15);iconStyle={align="left";font=LOGFONT(h=-15;name='FontAwesome')};iconText='\uF0C8 ';textPadding={left=24};z=5};
chkOnPlusGroupBackgroud={cls="plus";text="复选框";left=513;top=251;right=596;bottom=282;align="left";db=1;dr=1;font=LOGFONT(h=-15);iconStyle={align="left";font=LOGFONT(h=-15;name='FontAwesome')};iconText='\uF0C8 ';textPadding={left=24};z=6};
plusGroup={cls="plus";left=39;top=44;right=720;bottom=194;align="left";border={color=0xFF008000;radius=8;width=1};db=1;dl=1;dr=1;dt=1;font=LOGFONT(h=-14);textPadding={left=16};valign="top";z=1};
plusGroupBackground={cls="plus";left=40;top=218;right=721;bottom=323;align="left";border={color=0xFF808000;radius=8;width=1};db=1;dl=1;dr=1;font=LOGFONT(h=-14);forecolor=0xC0C0C0;textPadding={left=16};valign="top";z=4};
plusGroupTitle={cls="plus";text="用 plus 控件制作镂空标题组合框的步骤";left=57;top=31;right=242;bottom=57;dl=1;dt=1;z=2};
static={cls="static";text='1. 拖放一个 plus 控件作为组合框,指定边框大小与颜色、圆角大小。\r\n\r\n2. 拖放一个 plus 控件作为组合框标题,『剪切背景』属性保持默认值为 true。\r\n\r\n3. 为了让标题跟随组合框,请将两个控件设为在相同方向固定边距,可直接点击窗体右键菜单『九宫格缩放布局』。';left=67;top=81;right=713;bottom=185;db=1;dl=1;dr=1;dt=1;transparent=1;z=3};
static3={cls="static";text="plus 控件制作非透明背景的组合框时,必须显式调用 directDrawBackgroundOnly 方法以模拟 bk,bkplus 控件直接在背景窗体上绘图(bk,bkplus 功能有限,例如不支持圆角)。";left=71;top=248;right=466;bottom=306;db=1;dl=1;dr=1;transparent=1;z=7}
)
/*}}*/
/*
plus 控件用于实现纯静态的背景控件时,
务必保持事件回调属性(notify)为 false(或 null)以避免抢占焦点。
用于实现组合框效果的 winform.plusGroup 必须设为透明背景。
winform.plusGroupTitle 无通过 plus 控件默认的“剪切背景”
功能绕过它后面的 winform.plusGroup 获取窗体背景作为自己的背景,
实现穿透 winform.plusGroup 的镂空效果。
winform.plusGroup 必须设为透明背景,
否则它前面的 winform.chkOnPlusGroup 会因为“剪切背景”功能穿透 winform.plusGroup 显示窗体背景。
而 winform.plusGroup 背景区就会被破坏,这里缺一块,那里缺一块。
*/
/*
如果必须实现有背景的组合框,例如 winform.plusGroupBackground。
那就要显式调用 directDrawBackgroundOnly 方法,
让 winform.plusGroupBackground 直接在窗体背景上绘图。
这样就不会被它前面的 plus 控件剪切与镂空。
但 winform.plusGroupBackground 就不能放置组合框标题。
因为它无法被镂空,如果 winform.plusGroupBackground 有边框就会穿透它前面的标题。
*/
winform.plusGroupBackground.directDrawBackgroundOnly()
winform.chkOnPlusGroup.skin({
color={
active=0xFF00FF00;
default=0xFF000000;
disabled=0xEE666666;
hover=0xFFFF0000
};
checked={
iconText='\uF14A'
}
})
winform.chkOnPlusGroupBackgroud.skin({
color={
active=0xFF00FF00;
default=0xFF000000;
disabled=0xEE666666;
hover=0xFFFF0000
};
checked={
iconText='\uF14A'
}
})
winform.show();
win.loopMessage();
Markdown 格式