在aardio中使用windows的api函数可以轻易的创建半透明毛玻璃窗口,给人以高级的感觉,如下图所示:

二话不说,直接上代码:
//窗口程序 - 毛玻璃效果
import win.ui;
import win.ui.layered
/*DSG{{*/
var winform = win.form(text="毛玻璃效果";right=720;bottom=469;topmost=1)
winform.add(
plus={cls="plus";text="×";left=668;top=10;right=708;bottom=50;border={radius=10};color=16777215;font=LOGFONT(h=-32;name='微软雅黑');notify=1;z=2};
plus2={cls="plus";text="Hello World!";left=20;top=100;right=739;bottom=241;color=16777215;font=LOGFONT(h=-96;name='微软雅黑');z=1}
)
/*}}*/
//创建分层窗口,并指定窗口背景色
var a=win.ui.layered(winform)
a.backgroundColor=0x8A000000
var accent = {
int AccentState = 3;
INT AccentFlags = 0;
INT GradientColor = 0;
INT AnimationId = 0;
};
::User32.SetWindowCompositionAttribute(winform.hwnd,{
INT Attrib = 19;
ptr pvData = ..raw.buffer(accent);
INT cbData = ..raw.sizeof(accent);
});
winform.onMouseDown = function(wParam,lParam){
winform.hitCaption();
}
winform.plus.skin(
background = {
hover = 0x64000000;
active = 0x8A000000;
}
)
winform.plus.oncommand = function(id,event){
winform.close()
}
winform.show();
win.loopMessage();
569

被折叠的 条评论
为什么被折叠?



