plus实现的滑动侧边栏

By netfox at 2022-03-18 • 0人收藏 • 323人看过
import fonts.fontAwesome;
import win.ui;
import win.timer;
import win.ui.simpleWindow
/*DSG{{*/
var winform = win.form(text="aardio form";right=1080;bottom=687;bgcolor=16760832;border="none";maximize=1)
winform.add(
panel={cls="custom";text="自定义控件";left=-2;top=-6;right=189;bottom=689;bgcolor=3947580;db=1;dt=1;z=1};
web={cls="custom";text="自定义控件";left=193;top=28;right=1082;bottom=687;db=1;dl=1;dr=1;dt=1;font=LOGFONT(h=-35;weight=700);z=2}
)
/*}}*/

winform.modifyStyle(,0x2000000/*_WS_CLIPCHILDREN*/)


win.ui.simpleWindow(winform)
var panelWidth,timer,open = winform.panel.width,win.timer( winform );

timer.setInterval(100);
timer.onTimer = function(hwnd,msg,id,tick){
	if open {	
		winform.panel.width = winform.panel.width + 50;
		winform.web.left = winform.panel.width - 3
		if (winform.panel.width >= panelWidth){
			timer.disable()			
			open = false;
		}
	}else {		
		winform.panel.width = winform.panel.width - 50;
		winform.web.left =winform.panel.width - 3
		if (winform.panel.width <= 59){
			timer.disable()			
			open = true;
		}
	}	
}

winform.panel.add( 
	Side={cls="plus";left=0;top=81;right=7;bottom=134;bgcolor=16777215;z=6};
	qq={cls="plus";text="MUSIC";url="http://music.qq.com";left=0;top=134;right=189;bottom=187;bgcolor=3947580;color=16777215;font=LOGFONT(h=-16;weight=700);notify=1;z=4};
	baidu={cls="plus";text="BAIDU";left=0;top=81;url="http://www.baidu.com";right=189;bottom=134;bgcolor=3947580;color=16777215;font=LOGFONT(h=-16;weight=700);notify=1;z=3};
	control={cls="plus";text=" ";left=156;top=10;right=192;bottom=40;dr=1;dt=1;iconColor=16777215;iconStyle={font=LOGFONT(h=-16;name='FontAwesome';weight=700)};iconText='\uF039';notify=1;z=3}
	["163"]={cls="plus";text="163";url="http://www.163.com";left=0;top=187;right=189;bottom=240;bgcolor=3947580;color=16777215;font=LOGFONT(h=-16;weight=700);notify=1;z=5}
)

winform.web.add(
	info={cls="plus";text="Welcome to aarido";left=150;top=28;right=1082;bottom=687;db=1;dl=1;dr=1;dt=1;font=LOGFONT(h=-35;weight=700)};
)

moveSide = function(btnControl){
	winform.panel.Side.top = btnControl.top;
	winform.panel.Side.height = btnControl.height;
}

for(hwnd,ctrl in winform.panel.eachControlEx("plus") ){
	ctrl.oncommand = function(id,event){
		moveSide(ctrl)		
		winform.web.info.text = ctrl.url;
	}
}

winform.panel.control.oncommand = function(id,event){
	timer.enable();	
}

winform.adjust = function( cx,cy,wParam ) {	 
	winform.web.left = winform.panel.width - 3
	winform.panel.redrawBackground()  
	winform.web.redrawBackground() 
};

winform.show();

win.loopMessage();

细节没处理好,有兴趣的完善下。

4 个回复 | 最后更新于 2022-03-12
2022-03-18   #1

不够顺畅丝滑, 一顿一顿卡卡的, 优化任重道远, 哈


2022-03-18   #2

回复#1 @admin :丝滑不了

2022-03-18   #3

回复#2 @netfox :

不能这样写吧, 这样刷界面肯定丝滑不了

2022-03-18   #4

回复#3 @admin :

减小时钟周期,速度快了,看上去滑了一点,具体本质还是没滑

登录后方可回帖

登 录
信息栏
公告:
私人站, 专注分享, 可在分享中适当提问, 但谢绝纯提问, 否则不再提醒一律删帖, 谢谢合作!



本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
Loading...