plus 控件调用 directDrawBackgroundOnly 函数也可以转换为背景贴图控件,
不但可以像 bk,bkplus 控件那样直接在窗体背景上绘图,而且支持更多的绘图样式与选项。
bk,bkplus 控件的实现则更简单轻量,功能也相对简单且不支持交互事件。
更多绘图样式与选项
无窗口控件(无句柄),仅用于背景贴图(不支持交互事件)。
基于 gdip(GDI+),支持透明 png 图像。
直接输出颜色或图像到窗口背景图缓存,
因为不需要创建窗口可避免前后叠加控件且处理不当产生的闪烁,
适合显示静态、不会频繁变动的图像或颜色。
plus 控件也可通过
调用 directDrawBackgroundOnly 函数变为背景绘图控件。
ARGB格式颜色数值,用于文本输出
设置背景图像或背景颜色。
设置背景图像时支持 jpg,gif,png 等格式图像路径或内存数据,支持 gdip.bitmap 对象。
设置背景颜色支持 0xAARRGGBB 格式颜色数值(ARGB 格式)。
通过此属性修改背景颜色会自动删除之前指定的背景图像。
修改此属性后会自动重绘,而通过 backgroundColor 属性修改背景色不会自动重绘。
读取此属性时,即使未指定背景图像,也不会返回背景颜色值,
应改用 backgroundColor 属性获取背景颜色值。
背景颜色, 0xAARRGGBB 格式颜色数值(ARGB 格式)
直接修改这个属性时不会重绘控件。
也不会删除通过 background 属性指定的背景图像。
bk,bkplus 是无句柄控件,可以任意前后叠加多个 bk,bkplus 控件。
边框与圆角属性,表对象或 null 值。
表对象可指定 radius,width,color 字段。
相比 plus 控件,bkplus 的 border 属性有以下限制:
启用渐变后无效,圆角仅对纯色背景有效。
不支持用 left,top,right,bottom 单独指定各边框
顶部位置
关闭控件。
设置前景图像或前景颜色。
设置前景图像时支持 jpg,gif,png 等格式图像路径或内存数据,支持 gdip.bitmap 对象。
设置前景颜色支持 0xAARRGGBB 格式颜色数值(ARGB 格式)。
修改此属性后会自动重绘,通过 foregroundColor 属性修改前景色不会自动重绘。
读取此属性时,即使未指定前景图像,也不会返回前景颜色值,
应改用 foregroundColor 属性获取前景颜色值。
前景颜色, 0xAARRGGBB 格式颜色数值(ARGB 格式)
直接修改这个属性时不会重绘控件。
也不会删除通过 foreground 属性指定的前景图像。
bk,bkplus 是无句柄控件,可以任意前后叠加多个 bk,bkplus 控件。
返回 x,y,cx,cy 等 4 个值。
x,y为控件坐标,cx,cy 为控件宽、高。
获取控件区块位置(::RECT 结构体)
高度
图像缩放时的默认插值模式,
默认值为_GdipInterpolationModeHighQualityBicubic
左侧位置
使用此属性指定线性渐变的方向角度,负数值表示使用径向渐变,
必须同时指定背景色、前景色才有效,指定图像后此属性无效
启用渐变后,边框与圆角设置无效。
前景色下边距
前景色左边距
前景色右边距
前景色上边距
刷新,会导致背景窗口重建背景图缓存
不建议频繁调用
右侧位置
修改控件的 x,y 坐标与宽(cx),高(cw)。
所有参数可选,不指定的参数则保持原值。
设置控件区块位置。
参数 @rect 指定 ::RECT 结构体。
可选用 @screen 指定参数是否使用屏幕坐标,默认为 false
显示窗口。
参数 @1 为 false 时隐藏窗口。
绘图画布默认抗锯齿模式,
默认值为_GdipSmoothingModeAntiAlias
winuictrlbkplusObject.textRenderingHint = _GdipTextRenderingHint ;
顶部位置
当前控件是否显示
宽度
winuictrlbkplusObject.onDrawBackground(hdc,rc){
/*背景绘图以后触发此回调,
hdc为当前绘图设备句柄,rc为控件位置*/
}
winuictrlbkplusObject.onDrawString = function(graphics,text,font,rectf,strFormat,brush){
/*自定义输出文本,请不要删除传入参数中的GDI+对象*/
graphics.drawString(text,font,rectf,strFormat,brush);
}