【提问】怎么在选项卡控件里,滚动条就不起作用了呢?-综合问答论坛-aardio-阿甘软件

提问怎么在选项卡控件里,滚动条就不起作用了呢?

建一个选项卡窗体,在窗体上再放一个plus,会把“aaa.txt”的数据逐行读入plus的title标签上,一行数据对应一个title。想实现:1、鼠标移入plus控件内,滚动鼠标中轮,plus内的title标签项随之上下移动。2、或者,前面的实现不了,用滚动条也行。但是发现,两个都实现不了,再怎么滚动,里面的title项根本不为所动。请阿甘老师再帮我指点指点。谢谢!

import win;
import win.ui;
import mouse;
import fonts.fontAwesome
/*DSG{{*/
var winform = win.form(text="选项卡控件演示";right=663;bottom=387)
winform.add(
tab={cls="tab";left=199;top=16;right=645;bottom=360;db=1;dl=1;dr=1;dt=1;z=1}
)
/*}}*/

//添加一个子页面
var frmTabPage1 = winform.tab.add( text="选项1"; bottom=140;right=325 )
frmTabPage1.add(
plusControl={cls="plus";left=195;top=5;right=589;bottom=451;autohscroll=false;autovscroll=false;db=1;dl=1;dr=1;dt=1;edge=1;forecolor=16777215;frame=1;notify=1;z=1}; 
scrollbar={cls="scrollbar";left=10;top=32;right=94;bottom=343;edge=1;z=2}
) 

itemModel = {
    {   // 项目背景
        type="rect",
        click=true;
        rectf={x=0;y=3;width=0;height=0},//y可以调节标签之间的间隙
        width=1;
        color = 0x88FFFFFF;
        fillcolor=0xFFBAFFFF,
        itemselectedfillcolor=0xFFCdB99c;
        disabledfillcolor=0xFFEEEEEE,
        },      

    {
        name="title",
        type="text",
        AntiAlias=true,
        rectf={x=15;y=15;width=-10;height=70},
        font={name="text",point=11,color=0xFF5d492c},
        itemhoverfont={name="text",point=12,color=0xFFFF0000},//鼠标划过时会显示文字
        align=0
        },
 } 
         
itemList = {}
for line in io.lines("aaa.txt"){
  	a,b = table.unpack(string.split(line," "))
  	b = b or ""
  	table.push(itemList,{
    	title = a+" "+b,    	
    	a = a,    	
  	})
}  	
	
frmTabPage1.plusControl.title = itemList ; // 把itemList变量的内容赋值给frmTabPage1的title

import godking.customPlus
var p = godking.customPlus(frmTabPage1.plusControl/*plus*/,itemModel,itemList,{
        itemWidth=582,  /*项目宽度,包括title文字的填满的宽度*/
        itemHeight=110, /*项目高度*/
        autoSizeRow=false,  /*自动根据项目行数及plus高度调整项目高度*/
        autoSizeCol=true,   /*自动根据项目列数及plus宽度调整项目宽度*/
        colnum=1,   /*项目列数,为0则根据项目宽度和plus宽度自动计算*/
        rownum=0,   /*项目行数,为0则根据项目高度和plus高度自动计算*/
        padLeft=0,  /*plus左边空白距离*/
        padTop=0,   /*plus顶边空白距离*/
        padRight=0, /*plus右边空白距离*/
        padBottom=0,    /*plus底边空白距离*/
})

// 使用鼠标滚轮滚动 plus 内容  
frmTabPage1.plusControl.onmouseenter = function(){
	 p.bindScrollbar(frmTabPage1.scrollbar);	
   mouse.mb.roll(10, function(delta){
     p.scroll(delta);
   });
}

// 使用滚动条滚动 plus 内容  
frmTabPage1.plusControl.oncommand = function(id,event,pos){
	 if( event == 5/*_SB_ENDSCROLL*/ ){
		p.bindScrollbar(frmTabPage1.scrollbar);	
	 }

}
winform.show(true) 
win.loopMessage();

 

请登录后发表评论

    • 阿甘的头像-阿甘软件阿甘徽章-签到达人-阿甘软件等级-LV6-阿甘软件超级版主0