ENVI &Win_H=535
ENVI &Dpi=144 //喂一个DPI值,自己想办法获取系统的。
CALC &WidDpiSetVal=%&Dpi% / 96
IFEX "%&SystemROOT%\Fonts\msyh.tt*",
{*
ENVI &FontName=微软雅黑
ENVI &YsFontSize=13
}!
{*
IFEX "%&SystemROOT%\Fonts\simsun.tt*",
{*
ENVI &FontName=宋体
ENVI &YsFontSize=9
}!
{*
IFEX "%&SystemROOT%\Fonts\segoeui.tt*",
{*
ENVI &FontName=Segoe UI
ENVI &YsFontSize=13
}!
{*
ENVI &FontName=System
ENVI &YsFontSize=13
}
}
}
CALC &DefaultFontSize=%&YsFontSize% * (%&WidDpiSetVal% / 4 + 1)
ENVI &MainFontSet=ENVI @this.Font=%&DefaultFontSize%:%&FontName%
IFEX "%&SystemRoot%\Fonts\segmdl2.ttf", //这个字体好像从Win8开始才有。
{*
SET$-ret GuanBi=0xE106 //关闭按钮
}!
{*
IFEX "%&SystemRoot%\Fonts\marlett.ttf", //这个字体系统必有。
{*
SET$-ret GuanBi=0x72 //关闭按钮
}
}
ENVI &PFTitle=CeoMSX
CALL @MAIN
_SUB MAIN,W%&Win_W%H%&Win_H%,%&PFTitle%,,%&MyName%,#,,-scale:%&Dpi%
ENVI @MAIN.bkcolor=0xFFFFFF*
^%&MainFontSet%
LABE -left -vcenter * &MAIN_LABE,L0T0W%&Win_W%H30, %&PFTitle% //不能直接这里设置“0xFFFFFF#0xFF9220”,否则会挡住后面的控件。
ENVI @&MAIN_LABE.bkcolor=0xFFFFFF#0xFF9220
IFEX [ "%&SystemRoot%\Fonts\marlett.ttf" | "%&SystemRoot%\Fonts\segmdl2.ttf" ],
{*
IFEX "%&SystemRoot%\Fonts\segmdl2.ttf",
{*
ITEM -color:0xFFFFFF#0xFFFFFFFF#0xFFFFFF#0x2311E8 -font:(%&DefaultFontSize% + 3):Segoe MDL2 Assets**###1# -nscope * ,L(%&Win_W% - (32 * 1) - (ceil(1 * %&WidDpiSetVal%) + 1))T(ceil(1 * %&WidDpiSetVal%) + 1)W32H26,%&GuanBi%,KILL @MAIN,,
}!
{*
IFEX "%&SystemRoot%\Fonts\marlett.ttf",
{*
ITEM -color:0xFFFFFF#0xFFFFFFFF#0xFFFFFF#0x2311E8 -font:(%&DefaultFontSize% + 3):Marlett**###1# -nscope * ,L(%&Win_W% - (32 * 1) - (ceil(1 * %&WidDpiSetVal%) + 1))T(ceil(1 * %&WidDpiSetVal%) + 1)W32H26,%&GuanBi%,KILL @MAIN,,
}
}
}
CALL MakeBianKuang MAIN
_END
_SUB MakeBianKuang
//这里通过Dpi拉伸计算得到的可能是小数,不太准。新方法,直接获取实际宽高后再处理。
ENVI @%~1.POS=?::@&&W:&&H
LABE+ &MAIN_Top, //上
ENVI @&MAIN_Top.POS=0:0:@%&&W%:1
LABE+ &MAIN_End, //下
ENVI @&MAIN_End.POS=0:(%&&H% - 1):@%&&W%:1
LABE+ &MAIN_Left, //左
ENVI @&MAIN_Left.POS=0:0:@1:%&&H%
LABE+ &MAIN_Right, //右
ENVI @&MAIN_Right.POS=(%&&W% - 1):0:@1:%&&H%
_END
[/ol]复制代码效果: