滚动条控件scrollbar可以设置为横向滚动条或纵向滚动条,它分为四个部分,滑道、滑块、左按钮、右按钮。通常是拖动滑块,然后再点击左按钮或右按钮调整到精确数据。一般需要滚动的控件都已经自带了滚动条,所以下面仅简单演示获取和设置位置值用法:
import win.ui;
/*DSG{{*/
var winform = win.form(text="简码编程 jianma123.com";right=305;bottom=224)
winform.add(
edit={cls="edit";text="1";left=105;top=93;right=219;bottom=114;edge=1;z=3};
edit2={cls="edit";text="1";left=105;top=130;right=219;bottom=151;edge=1;z=4};
scrollbar={cls="scrollbar";left=29;top=25;right=274;bottom=45;edge=1;horz=1;z=1};
scrollbar2={cls="scrollbar";left=254;top=53;right=274;bottom=196;edge=1;z=2};
static={cls="static";text="横向:";left=47;top=94;right=98;bottom=111;align="right";transparent=1;z=5};
static2={cls="static";text="纵向:";left=47;top=131;right=98;bottom=148;align="right";transparent=1;z=6}
)
/*}}*/
//要先设置最小值、最大值,不然拖动松开后会自动复位
winform.scrollbar.setRange(1,100)
winform.scrollbar2.setRange(1,100)
//横向滚动条
winform.scrollbar.oncommand = function(id,event,pos){
//拖动滑块条
if( pos ){
winform.scrollbar.pos = pos;//获取或设置滚动按钮的当前位置
}
//点击左按钮
if( event == 0x0/*_SB_LINEUP*/ ){
winform.scrollbar.pos = winform.scrollbar.pos-1;
}
//点击右按钮
if( event == 0x1/*_SB_LINEDOWN*/ ){
winform.scrollbar.pos = winform.scrollbar.pos+1
}
//实时显示位置值
winform.edit.text = winform.scrollbar.pos;
}
//纵向滚动条
winform.scrollbar2.oncommand = function(id,event,pos){
if( pos ){
winform.scrollbar2.pos = pos;//获取或设置滚动按钮的当前位置
}
if( event == 0x0/*_SB_LINEUP*/ ){
winform.scrollbar2.pos = winform.scrollbar2.pos-1;
}
if( event == 0x1/*_SB_LINEDOWN*/ ){
winform.scrollbar2.pos = winform.scrollbar2.pos+1
}
winform.edit2.text = winform.scrollbar2.pos;
}
winform.show()
win.loopMessage();