aardio 文档

aardio 范例: plus 控件 - 实现滑尺控件

创建滑尺控件教程

//用 plus 控件创建滑尺控件
import win.ui;
/*DSG{{*/
var winform = win.form(text="plus 控件 - 实现滑尺控件";right=757;bottom=467;bgcolor=0xF5F5F5)
winform.add(
trackbar={cls="plus";left=225;top=266;right=667;bottom=281;bgcolor=0xD9AB23;border={radius=-1};foreRight=15;forecolor=0x1C77FF;paddingBottom=5;paddingTop=5;z=1}
)
/*}}*/

//创建滑尺控件教程: https://www.aardio.com/zh-cn/doc/library-guide/std/win/ui/ctrl/plus.html#trackbar

//设置滑尺范围,切换到滑尺模式,默认自动配置滑块滑道大小,随机选择预设配色方案
winform.trackbar.setTrackbarRange(1,100);

//使用 progressPos 属性获取或修改滑块当前位置
winform.trackbar.progressPos = 1;

//设置外观
winform.trackbar.skin({
    background={
        default=0xFF23ABD9;
    };
    foreground={
        default=0xFFFF771C;
        hover=0xFFFF6600;
    };
    color={
        default=0xFFFF5C00;
        hover=0xFFFF6600;
    }
})

//可选用下面的代码添加提示控件,不需要可删除
import win.ui.tooltip;
var tooltipCtrl = win.ui.tooltip.tracking(winform);
var toolinfo = tooltipCtrl.addTrackingTool(winform.trackbar);

//鼠标放开关闭提示
winform.trackbar.onMouseUp = function(wParam,lParam){
    toolinfo.trackPopup(false);
}

//鼠标按下拖动时在提示控件中显示滑块当前位置
winform.trackbar.onPosChanged = function( pos,thumbTrack ){
    if(thumbTrack){  
        var x,_ = win.getMessagePos();
        var _,y,cx,cy = winform.trackbar.getPos(true)

        /*
        注意刻度最小单位总是 1,
        如果要改为其他单位,只要修改显示数值就可以,
        例如下面显示的 pos 修除以 10,对于用户来说就实现了最小单位 0.1 相同的效果。
        */
        toolinfo.setText(pos / 10).trackPopup(true,x,y+cy); 
    }
}

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