能不能在虚表内加入日期时间控件?

freejzh 2月前 641

如题,不知道怎么在虚表单元格内加入时间控件,或者单元格的类型设置为时间控件类型。光哥,求解答。

最新回复 (6)
  • mndsoft 2月前
    0 2

    替大师回复下:

    我觉得虚表强大到万物皆可加。

    参考:https://aar.chengxu.online/thread-244.htm

    使用大师的 godking.message

  • freejzh 2月前
    0 3
    非常感谢,感觉厉害的飞起啊
  • cgfriend 2月前
    0 4
    我也希望庆帝能设置列格式为日期型,时间型,希望加入这个功能
  • 光庆 2月前
    0 5
    有没有好看的日期、时间选择界面的代码?
  • cgfriend 2月前
    0 6

    也没必要弄得太好看,就这种就行了。

  • 近我者赤 3天前
    0 7

    用笨办法自制了一个日期选择框,欢迎大佬改为控件。

    import fonts.fontAwesome;
    import win.ui;
    import time;
    /*DSG{{*/
    var winform = win.form(text="日期选择:";right=343;bottom=290;border="dialog frame")
    winform.add(
    plusD1={cls="plus";text="1";left=230;top=112;right=330;bottom=162;bgcolor=0xFFB0B28F;border={top=1;bottom=1;color=0xFF9696F6};font=LOGFONT(h=-28);notify=1;z=8};
    plusD2={cls="plus";text="2";left=230;top=162;right=330;bottom=212;border={bottom=1;color=0xFF9696F6};editable=1;font=LOGFONT(h=-32);notify=1;z=9};
    plusD3={cls="plus";text="3";left=230;top=212;right=330;bottom=262;bgcolor=0xFFB0B28F;border={bottom=1;color=0xFF9696F6};font=LOGFONT(h=-28);notify=1;z=10};
    plusM1={cls="plus";text="1";left=122;top=112;right=222;bottom=162;bgcolor=0xFFB0B28F;border={top=1;bottom=1;color=0xFF9696F6};font=LOGFONT(h=-28);notify=1;z=5};
    plusM2={cls="plus";text="2";left=122;top=162;right=222;bottom=212;border={bottom=1;color=0xFF9696F6};editable=1;font=LOGFONT(h=-32);notify=1;z=6};
    plusM3={cls="plus";text="3";left=122;top=212;right=222;bottom=262;bgcolor=0xFFB0B28F;border={bottom=1;color=0xFF9696F6};font=LOGFONT(h=-28);notify=1;z=7};
    plusSelect={cls="plus";left=13;top=12;right=278;bottom=56;align="right";border={bottom=1;color=0xFF969696};editable=1;font=LOGFONT(h=-27);textPadding={top=6;bottom=2};z=4};
    plusToday={cls="plus";text="今日";left=283;top=15;right=330;bottom=55;font=LOGFONT(h=-16);notify=1;z=12};
    plusY1={cls="plus";text="2025";left=13;top=112;right=113;bottom=162;bgcolor=0xFFB0B28F;border={top=1;bottom=1;color=0xFF9696F6};font=LOGFONT(h=-28);notify=1;z=1};
    plusY2={cls="plus";text="2026";left=13;top=162;right=113;bottom=212;border={bottom=1;color=0xFF9696F6};editable=1;font=LOGFONT(h=-32);notify=1;z=2};
    plusY3={cls="plus";text="2027";left=13;top=212;right=113;bottom=262;bgcolor=0xFFB0B28F;border={bottom=1;color=0xFF9696F6};font=LOGFONT(h=-28);notify=1;z=3};
    static={cls="static";text="年          月          日";left=16;top=67;right=328;bottom=108;align="center";font=LOGFONT(h=-29);transparent=1;z=11}
    )
    /*}}*/
    
    style={
    	background={
    		default=0x668B2BF0;
    		disabled=0xFFCCCCCC;
    		hover=0xFF928BB3		
    	};
    	
    	color={
    		default=0xFF000000;
    		disabled=0xFF6D6D6D		
    	}
    }
    style2={
    	background={
    		default=0xFFe3e3e3;
    	};
    	color={
    		default=0xFF808080;	
    	}
    }
    style3={
    	background={
    		default=0xFFe3e3e3;
    	};
    	color={
    		default=0xFFe3e3e3;
    	}
    }
    winform.plusY1.skin(style2)
    winform.plusY2.skin(style)
    winform.plusY3.skin(style2)
    winform.plusM1.skin(style2)
    winform.plusM2.skin(style)
    winform.plusM3.skin(style2)
    winform.plusD1.skin(style2)
    winform.plusD2.skin(style)
    winform.plusD3.skin(style2)
    winform.plusToday.skin(style)
    
    winform.plusY1.onMouseHover = function(wParam,lParam){
    	jsq=winform.setInterval(
    		function(){
    			winform.plusY1.text=tonumber(winform.plusY1.text)>1900?(tonumber(winform.plusY1.text)-1):1900;
    			winform.plusY1.skin=tonumber(winform.plusY1.text)!=1900?style2:style3;
    			winform.plusY3.skin=style2;
    			winform.plusY2.text=tonumber(winform.plusY1.text)+1;
    			winform.plusY3.text=tonumber(winform.plusY1.text)+2;
    			winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    		},200
    	);	
    }
    winform.plusY1.onMouseLeave = function(wParam,lParam){
    	winform.clearInterval(jsq) ; 
    };
    
    winform.plusY2.onMouseHover = function(wParam,lParam){
    	
    }
    winform.plusY3.onMouseHover = function(wParam,lParam){
    	jsq=winform.setInterval(
    		function(){
    			winform.plusY3.text=tonumber(winform.plusY3.text)<2100?(tonumber(winform.plusY3.text)+1):2100;
    			winform.plusY3.skin=tonumber(winform.plusY3.text)!=2100?style2:style3;
    			winform.plusY1.skin=style2;
    			winform.plusY2.text=tonumber(winform.plusY3.text)-1;
    			winform.plusY1.text=tonumber(winform.plusY3.text)-2;
    			winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    		},200
    	);	
    }
    winform.plusY3.onMouseLeave = function(wParam,lParam){
    	winform.clearInterval(jsq) ; 
    };
    
    
    winform.plusM1.onMouseHover = function(wParam,lParam){
    	jsq=winform.setInterval(
    		function(){
    			
    			winform.plusM1.text=tonumber(winform.plusM1.text)>0?(tonumber(winform.plusM1.text)-1):0;
    			winform.plusM1.skin=tonumber(winform.plusM1.text)!=0?style2:style3;
    			winform.plusM3.skin=style2;
    			winform.plusM2.text=tonumber(winform.plusM1.text)+1;
    			winform.plusM3.text=tonumber(winform.plusM1.text)+2;
    			winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    		},200
    	);	
    }
    winform.plusM1.onMouseLeave = function(wParam,lParam){
    	winform.clearInterval(jsq) ; 
    };
    
    winform.plusM2.onMouseHover = function(wParam,lParam){
    	
    }
    winform.plusM3.onMouseHover = function(wParam,lParam){
    	jsq=winform.setInterval(
    		function(){
    			winform.plusM3.text=tonumber(winform.plusM3.text)<13?(tonumber(winform.plusM3.text)+1):13;
    			winform.plusM3.skin=tonumber(winform.plusM3.text)!=13?style2:style3;
    			winform.plusM1.skin=style2;
    			winform.plusM2.text=tonumber(winform.plusM3.text)-1;
    			winform.plusM1.text=tonumber(winform.plusM3.text)-2;
    			winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    		},200
    	);	
    }
    winform.plusM3.onMouseLeave = function(wParam,lParam){
    	winform.clearInterval(jsq) ; 
    };
    
    
    winform.plusD1.onMouseHover = function(wParam,lParam){
    	jsq=winform.setInterval(
    		function(){
    			winform.plusD1.text=tonumber(winform.plusD1.text)>0?(tonumber(winform.plusD1.text)-1):0;
    			winform.plusD1.skin=tonumber(winform.plusD1.text)!=0?style2:style3;
    			winform.plusD3.skin=style2;
    			winform.plusD2.text=tonumber(winform.plusD1.text)+1;
    			winform.plusD3.text=tonumber(winform.plusD1.text)+2;
    			winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    		},200
    	);	
    }
    winform.plusD1.onMouseLeave = function(wParam,lParam){
    	winform.clearInterval(jsq) ; 
    };
    
    winform.plusD2.onMouseHover = function(wParam,lParam){
    	
    }
    winform.plusD3.onMouseHover = function(wParam,lParam){
    	jsq=winform.setInterval(
    		function(){
    			winform.plusD3.text=tonumber(winform.plusD3.text)<32?(tonumber(winform.plusD3.text)+1):32;
    			winform.plusD3.skin=tonumber(winform.plusD3.text)!=32?style2:style3;
    			winform.plusD1.skin=style2;
    			winform.plusD2.text=tonumber(winform.plusD3.text)-1;
    			winform.plusD1.text=tonumber(winform.plusD3.text)-2;
    			winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    			
    		},200
    	);	
    }
    winform.plusD3.onMouseLeave = function(wParam,lParam){
    	winform.clearInterval(jsq) ; 
    };
    
    winform.plusToday.oncommand = function(id,event){
    	winform.plusY1.text=time.now().year-1;
    	winform.plusY2.text=time.now().year;
    	winform.plusY3.text=time.now().year+1;
    	winform.plusM1.text=time.now().month-1;
    	winform.plusM2.text=time.now().month;
    	winform.plusM3.text=time.now().month+1;
    	winform.plusD1.text=time.now().day-1;
    	winform.plusD2.text=time.now().day;
    	winform.plusD3.text=time.now().day+1;
    	winform.plusSelect.text=winform.plusY2.text++"年"++winform.plusM2.text++"月"++winform.plusD2.text++"日";
    }
    winform.plusToday.oncommand();
    
    winform.show();
    win.loopMessage();


返回
发新帖