aardio 文档

win.ui.ctrl.bkplus 库模块帮助文档

更多绘图样式与选项

plus 控件调用 directDrawBackgroundOnly 函数也可以转换为背景贴图控件, 不但可以像 bk,bkplus 控件那样直接在窗体背景上绘图,而且支持更多的绘图样式与选项。 bk,bkplus 控件的实现则更简单轻量,功能也相对简单且不支持交互事件。

win.ui.ctrl 成员列表 #

win.ui.ctrl.bkplus() #

无窗口控件(无句柄),仅用于背景贴图(不支持交互事件)。
基于 gdip(GDI+),支持透明 png 图像。
直接输出颜色或图像到窗口背景图缓存,
因为不需要创建窗口可避免前后叠加控件且处理不当产生的闪烁,
适合显示静态、不会频繁变动的图像或颜色。

plus 控件也可通过
调用 directDrawBackgroundOnly 函数变为背景绘图控件。

返回对象:winuictrlbkplusObject

winuictrlbkplusObject 成员列表 #

winuictrlbkplusObject.argbColor #

ARGB格式颜色数值,用于文本输出

winuictrlbkplusObject.background #

设置背景图像或背景颜色。
设置背景图像时支持 jpg,gif,png 等格式图像路径或内存数据,支持 gdip.bitmap 对象。
设置背景颜色支持 0xAARRGGBB 格式颜色数值(ARGB 格式)。
通过此属性修改背景颜色会自动删除之前指定的背景图像。
修改此属性后会自动重绘,而通过 backgroundColor 属性修改背景色不会自动重绘。

读取此属性时,即使未指定背景图像,也不会返回背景颜色值,
应改用 backgroundColor 属性获取背景颜色值。

winuictrlbkplusObject.backgroundColor #

背景颜色, 0xAARRGGBB 格式颜色数值(ARGB 格式)
直接修改这个属性时不会重绘控件。
也不会删除通过 background 属性指定的背景图像。

bk,bkplus 是无句柄控件,可以任意前后叠加多个 bk,bkplus 控件。

winuictrlbkplusObject.border #

边框与圆角属性,表对象或 null 值。
表对象可指定 radius,width,color 字段。

相比 plus 控件,bkplus 的 border 属性有以下限制:
启用渐变后无效,圆角仅对纯色背景有效。
不支持用 left,top,right,bottom 单独指定各边框

winuictrlbkplusObject.bottom #

顶部位置

winuictrlbkplusObject.close() #

关闭控件。

winuictrlbkplusObject.foreground #

设置前景图像或前景颜色。
设置前景图像时支持 jpg,gif,png 等格式图像路径或内存数据,支持 gdip.bitmap 对象。
设置前景颜色支持 0xAARRGGBB 格式颜色数值(ARGB 格式)。
修改此属性后会自动重绘,通过 foregroundColor 属性修改前景色不会自动重绘。

读取此属性时,即使未指定前景图像,也不会返回前景颜色值,
应改用 foregroundColor 属性获取前景颜色值。

winuictrlbkplusObject.foregroundColor #

前景颜色, 0xAARRGGBB 格式颜色数值(ARGB 格式)
直接修改这个属性时不会重绘控件。
也不会删除通过 foreground 属性指定的前景图像。

bk,bkplus 是无句柄控件,可以任意前后叠加多个 bk,bkplus 控件。

winuictrlbkplusObject.getPos() #

返回 x,y,cx,cy 等 4 个值。
x,y为控件坐标,cx,cy 为控件宽、高。

winuictrlbkplusObject.getRect() #

获取控件区块位置(::RECT 结构体)

winuictrlbkplusObject.height #

高度

winuictrlbkplusObject.interpolationMode #

图像缩放时的默认插值模式,
默认值为_GdipInterpolationModeHighQualityBicubic

winuictrlbkplusObject.left #

左侧位置

winuictrlbkplusObject.linearGradient #

使用此属性指定线性渐变的方向角度,负数值表示使用径向渐变,
必须同时指定背景色、前景色才有效,指定图像后此属性无效
启用渐变后,边框与圆角设置无效。

winuictrlbkplusObject.paddingBottom #

前景色下边距

winuictrlbkplusObject.paddingLeft #

前景色左边距

winuictrlbkplusObject.paddingRight #

前景色右边距

winuictrlbkplusObject.paddingTop #

前景色上边距

winuictrlbkplusObject.redraw() #

刷新,会导致背景窗口重建背景图缓存
不建议频繁调用

winuictrlbkplusObject.right #

右侧位置

winuictrlbkplusObject.setPos(x,y,cx,cw) #

修改控件的 x,y 坐标与宽(cx),高(cw)。
所有参数可选,不指定的参数则保持原值。

winuictrlbkplusObject.setRect(rect,screen) #

设置控件区块位置。
参数 @rect 指定 ::RECT 结构体。
可选用 @screen 指定参数是否使用屏幕坐标,默认为 false

winuictrlbkplusObject.show() #

显示窗口。
参数 @1 为 false 时隐藏窗口。

winuictrlbkplusObject.smoothingMode #

绘图画布默认抗锯齿模式,
默认值为_GdipSmoothingModeAntiAlias

winuictrlbkplusObject.textRenderingHint #

winuictrlbkplusObject.textRenderingHint = _GdipTextRenderingHint ;

winuictrlbkplusObject.top #

顶部位置

winuictrlbkplusObject.visible #

当前控件是否显示

winuictrlbkplusObject.width #

宽度

winuictrlbkplusObject 事件列表 #

winuictrlbkplusObject.onDrawBackground #

winuictrlbkplusObject.onDrawBackground(hdc,rc){
    /*背景绘图以后触发此回调,  
hdc为当前绘图设备句柄,rc为控件位置*/
}

winuictrlbkplusObject.onDrawString #

winuictrlbkplusObject.onDrawString = function(graphics,text,font,rectf,strFormat,brush){
    /*自定义输出文本,请不要删除传入参数中的GDI+对象*/
    graphics.drawString(text,font,rectf,strFormat,brush);
}

Markdown 格式