酷炫界面引擎(KXUI) 前言: 白天去公司上班,晚上回家一有时间就打开电脑写DirectUI,在不自不觉中已经写了N个版本的DirectUI. 框架逻辑是DirectUI最核心的部分,它完全影响UI的效率和效果等... 这次发的DirectUI框架逻辑和以往的有大大的改进,个人感觉已经接近其它"真实DirectUI"了. 我一步一步按思路和经验重写了这个DirectUI,但写完后发出它的执行效率和占用资源并未达到我要求. 所以我决定放弃这个DirectUI,也许我太追求完美了(我还会继续重写DirectUI,我想肯定更加好).... 现在开源给大家:学习.参考.交流.改进.二开等等.. 引用参考: GDI+ - GDIPlus(kyozy) 类中调用 - 东灿屠版_易语言类方法回调 在此备注特别感谢你们为易友做出个贡献.... 结构关系: 
框架逻辑: 1.碰撞元素: 循环判断在目标元素上层有没有矩形碰撞并且可视的元素 2.隐藏上层: 把碰撞可视的元素隐藏了(就是只画出背景位图,参考绘画元素) 这样就把目标元素上层需要画的元素隐藏了 3.计算显示: 计算目标元素在父级元素的位置和所显示的矩形 也可是在窗口的实际坐标和与父级元素矩形交集的矩形区域(超出父级元素矩形是不显示的) 4.背景位图 每个元素在绘画前把该元素所占的矩形区域图片备份(复制)保存“背景位图”。 这是为了实现元素的隐藏或移动等等,且绘画时不影响该元素下层的元素(带透明通道)。 5.绘画元素: 画出目标元素的背景位图,画出实际显示部分的元素 循环判断该目标下是否有子元素,如果有也“绘画元素” 6.显示上层: 把刚刚隐藏上层元素显示出来,并更新“背景位图”和画出上层元素 效果演示: 
部分命令: 
下载链接:https://t00y.com/file/20110282-443775493
|