【第六章6.1】功能特效 -- 毛玻璃效果
效果图:
代码:
//毛玻璃效果 import win.ui; /*DSG{{*/ var winform = win.form(text="毛玻璃效果";right=759;bottom=469) winform.add() /*}}*/ // 加载 Dwmapi.dll 动态链接库 ::DwmApi := raw.loadDll("Dwmapi.dll") // 定义毛玻璃效果函数 var aero = function(hwnd){ // 检查是否为 Windows 10 或更高版本 if(_WIN10_LATER){ // 创建毛玻璃效果配置结构体 var accent = { int AccentState = 3; // 毛玻璃效果状态 INT AccentFlags = 0; INT GradientColor = 0; INT AnimationId = 0; }; // 设置窗口毛玻璃效果 ::User32.SetWindowCompositionAttribute(hwnd,{ INT Attrib = 19; // 设置属性 ptr pvData = raw.buffer(accent); // 毛玻璃效果配置 INT cbData = raw.sizeof(accent); // 配置大小 }); } // 检查是否为 Windows 7 或更高版本 elseif(_WIN7_LATER) { // 创建结果结构体 var result = {bool enabled}; // 检查毛玻璃效果是否启用 ::DwmApi.DwmIsCompositionEnabled(result) if(result.enabled){ // 启用毛玻璃效果 ::DwmApi.DwmEnableBlurBehindWindow(hwnd,{ int flags=3;int enable=1;int rgnBlur;int transition}) } } } // 调用毛玻璃效果函数 aero( winform.hwnd ); // 显示窗口 winform.show(); // 启动消息循环 win.loopMessage();
相关回复
-
暂无评论!