EGL界面库是出于研究目的编写的界面自绘程序,完全开源.其中主程序部分由我提供,获取类指针部分是使用[东灿]的代码,gdi+模块部分由[ganjun3000]开发.
能学到什么: 类对象编程,继承和多态;实际上除了这个界面库,我以前很少使用类对象.实际上,大部分人使用类仅是为了使用那个"."可以进行语法提示,很少有人使用继承和多态.
第2版更新内容:
1/ 上一版有个重大的问题,没有使用对象引用,因此将组件加入管理器以后,就失去了对其的控制.然而易语言是没有对象引用的,怎么办? 参观了易尘土界面库的一些介绍,它里面对这个问题的解决是用汇编手工打造了一段代码.用骇客手法进行调用.这种手法虽然很快,但不灵活,阅读代码比较困难.最后我使用的是用API覆写某个全局对象的地址来达到改变指针的目的,这种方法的缺点就是必须严格保证指针的创建与销毁.(在所有代码之前运行 组件管理器_初始化 (), 并在所有代码结束之后运行 组件管理器_退出 ())
2/ 由于第一点原因, 对代码结构进行了全部改写.对消息的解读由管理器交回到类对象本身
3/ 增加了键盘消息,现在可以接收字符输入了,写了一个简单组件编辑框.
当前BUG:
1/ CPU占用过高.原因是出于简单化考虑,当前的绘图方法是全部重绘.解决办法是使用脏矩形部分重绘.
2/ 仍然没有实现父子关系
3/ 结构还不稳定
自制gui-1-29.rar
(322.75 KB, 下载次数: 33)
|