aardio 文档

aardio 范例: 绘图基础

窗口绘图基础

//窗口绘图基础: https://www.aardio.com/zh-cn/docs/library-guide/std/win/ui/drawing.html
import win.ui;
/*DSG{{*/
var winform = win.form(text="颜色格式";right=757;bottom=467;bgcolor=0xFFFFFF)
winform.add(
plus={cls="plus";left=192;top=277;right=542;bottom=360;bgcolor=0x0000FF;font=LOGFONT(h=-32);z=2};
static={cls="static";text="Static";left=192;top=98;right=542;bottom=181;align="center";bgcolor=0xFF0000;center=1;font=LOGFONT(h=-32);z=1}
)
/*}}*/

/*
GDI 的 RGB(0xBBGGRR) 是按“内存物理顺序”命名的;
GDI+ 的 ARGB(0xAARRGGBB) 是按“数值字面量的视觉顺序”命名的。
微软在不同时期改变了命名基准,导致了今天我们看到的割裂。
*/

//-------------- GDI / 传统控件 --------------

//标准控件的背景色等颜色属性使用 COLORREF(0xBBGGRR) 格式颜色
winform.static.bgcolor = 0xFF0000;//蓝色

//获取 R,G,B 分量,参数为 COLORREF(0xBBGGRR) 颜色值
var r,g,b = gdi.getRgb(0xFF0000);
//函数名 gdi.getRgb 是 get R,G,B 的缩写。

//R,G,B 分量转换为 COLORREF(0xBBGGRR) 颜色数值
winform.static.bgcolor = gdi.RGB(r,g,b);

//#RRGGBB 格式字符串转换为 COLORREF(0xBBGGRR) 颜色数值
winform.static.bgcolor = gdi.colorParse("#0000FF");

//COLORREF(0xBBGGRR) 颜色值转换为 #RRGGBB 格式字符串
winform.static.text = gdi.colorStringify(0xFF0000,false/*isArgb*/);

//字体颜色设为白色,COLORREF(0xBBGGRR) 格式
winform.static.color = 0xFFFFFF;

//-------------- GDI+ / plus 控件 --------------

//plus 控件的背景色设为 ARGB 颜色,格式 0xAARRGGBB,32 位无符号整数
winform.plus.background = 0xFFFF0000;

//获取 R,G,B,A 分量,参数为 ARGB 颜色值。 
var r,g,b,a = gdi.getRgba(0xFFFF0000)
//函数名 gdi.getRgba 是 get R,G,B,A 的缩写。

//R,G,B,A 分量转换为 ARGB 颜色数值(0xAARRGGBB)
winform.plus.background = gdi.ARGB(r,g,b,a);

//#RRGGBBAA 格式字符串转换为 ARGB 颜色数值
winform.plus.background = gdi.colorParse("#FF0000FF");

//颜色值转换为 #RRGGBBAA 格式字符串
winform.plus.text = gdi.colorStringify(0xFFFF0000,true/*isArgb*/)

winform.show();
win.loopMessage();
Markdown 格式