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的一些基礎知識進行解釋性說明,以方便后期的使用,非純產品廣告。