aardio 文档

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

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

//创建滑尺控件教程: https://bbs.aardio.com/forum.php?mod=viewthread&tid=11486&page=1#pid64076

//设置滑尺范围,切换到滑尺模式
winform.trackbar.setTrackbarRange(1,100);

//设置外观
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 格式