MUILIB界面库包含的控件大体分为四类,第一大类是文字类控件,第二大类是按钮控件类,第三大类是界面布局控件类,第四大类是图像类。下面我们来就文字类进行简单说明。
文字类控件,大体也可以分三类,分别是标签类,文本编辑类以及富文本类(RichText)。
1、标签类。主要是以显示为目的控件,常见的是LabelUI、TextUI以及HtmlTextUI这三个。对于LabelUI来说,这是一个可以设置对齐方式、字体、省略号等参数的一个文字显示标签,它的特别之处在于这个控件只能单行绘制,文本超出范围也不会换行。TextUI是派生自LabelUI的一个控件,与LabelUI的最大不同是,TextUI可以多行输出文字。而HtmlTextUI功能更强大一些,在能多行显示文字的同时还可以显示不同的字体、粗体、斜体、下划线、文字缩进、文字选中状态、图片等,由于支持的功能较多,所以代码也比较复杂,原先这个功能是包含在LabelUI和TextUI中的,考虑到代码的可维护性、功能的扩充已经显示的性能等因素,特别分离重构了该部分功能,重构后性能有很大的提升,功能也更强大,代码也更容易维护。
2、文本编辑类。主要以文本编辑为目的,常见的有EditUI、EditBoxUI、TextEditUI三个。对于EditUI来说,这个控件主要是封装了Windows系统的Edit控件,除了仅支持单行编辑显示功能外,其他的功能与Windows系统的Edit控件基本相同。由于EditUI是封装的系统Edit控件,因此在XP、2003等系统下不支持层窗口的显示,所以MUILIB仿照系统Edit控件的功能重写了单行文本编辑控件EditBoxUI,该控件基本实现了单行文本编辑功能,可以水平滚动、文字选择、光标显示等,由于是自己重写的控件,在单行编辑显示的前提下,可以更加灵活的控制文本的编辑和显示功能。当然由于EditBox控件只是单行编辑显示,为了满足多行的文本编辑以及显示,MUILIB又重写了文本多行编辑控件TextEditUI,由于这些控件都是MUILIB自行重写的,可以非常方便的作为基础控件进行二次开发,比如开发具有语法高亮功能的代码编辑器、支持混合显示图片和其他控件的类似富文本编辑器的控件等,可以起到事半功倍的效果。
3、富文本类。及Windows系统的RichEdit控件的二次无窗口化封装,封装后的RichEdit控件基本具有Windows系统RichEdit类的大部分功能,使用上也基本相同。最大的改变就是对RichEdit的显示进行了一些基本的改造,使其可以在Windows层窗口上进行显示,并对插入动画并动态显示的功能进行了改造和封装,使其具备了类似QQ聊天窗口的多功能显示聊天信息和表情的能力。
以上各控件的应用演示可参考博客内相关随笔的视频和图片展示。
特别说明:关于MUILIB的用法和演示程序稍后将会进行代码级演示,目前阶段先对MUILIB的一些基础知识进行解释性说明,以方便后期的使用,非纯产品广告。