duilib是个开源的界面库,国人作品。
这几天有时间看看他的源码。分析一下。
初看时有几个比较好奇的地方:
1.消息机制,怎么传给控件的,有没有反射机制。
特别要关注的应该是他的WM_MOUSEMOVE的处理,像这种directUI的界面,鼠标移动事件会引发界面元素的变化。
2.根据鼠标位置确定当前停在哪个控件上,翻了一下源码,是__FindControlFromPoint,
3.动态创建,duilib根据xml文件的描述创建控件。
4.对控件的管理是怎么样的?应该有个容器的吧?