MUILIB界面庫(kù)包含的控件大體分為四類(lèi),第一大類(lèi)是文字類(lèi)控件,第二大類(lèi)是按鈕控件類(lèi),第三大類(lèi)是界面布局控件類(lèi),第四大類(lèi)是圖像類(lèi)。下面我們來(lái)就文字類(lèi)進(jìn)行簡(jiǎn)單說(shuō)明。
文字類(lèi)控件,大體也可以分三類(lèi),分別是標(biāo)簽類(lèi),文本編輯類(lèi)以及富文本類(lèi)(RichText)。
1、標(biāo)簽類(lèi)。主要是以顯示為目的控件,常見(jiàn)的是LabelUI、TextUI以及HtmlTextUI這三個(gè)。對(duì)于LabelUI來(lái)說(shuō),這是一個(gè)可以設(shè)置對(duì)齊方式、字體、省略號(hào)等參數(shù)的一個(gè)文字顯示標(biāo)簽,它的特別之處在于這個(gè)控件只能單行繪制,文本超出范圍也不會(huì)換行。TextUI是派生自LabelUI的一個(gè)控件,與LabelUI的最大不同是,TextUI可以多行輸出文字。而HtmlTextUI功能更強(qiáng)大一些,在能多行顯示文字的同時(shí)還可以顯示不同的字體、粗體、斜體、下劃線、文字縮進(jìn)、文字選中狀態(tài)、圖片等,由于支持的功能較多,所以代碼也比較復(fù)雜,原先這個(gè)功能是包含在LabelUI和TextUI中的,考慮到代碼的可維護(hù)性、功能的擴(kuò)充已經(jīng)顯示的性能等因素,特別分離重構(gòu)了該部分功能,重構(gòu)后性能有很大的提升,功能也更強(qiáng)大,代碼也更容易維護(hù)。
2、文本編輯類(lèi)。主要以文本編輯為目的,常見(jiàn)的有EditUI、EditBoxUI、TextEditUI三個(gè)。對(duì)于EditUI來(lái)說(shuō),這個(gè)控件主要是封裝了Windows系統(tǒng)的Edit控件,除了僅支持單行編輯顯示功能外,其他的功能與Windows系統(tǒng)的Edit控件基本相同。由于EditUI是封裝的系統(tǒng)Edit控件,因此在XP、2003等系統(tǒng)下不支持層窗口的顯示,所以MUILIB仿照系統(tǒng)Edit控件的功能重寫(xiě)了單行文本編輯控件EditBoxUI,該控件基本實(shí)現(xiàn)了單行文本編輯功能,可以水平滾動(dòng)、文字選擇、光標(biāo)顯示等,由于是自己重寫(xiě)的控件,在單行編輯顯示的前提下,可以更加靈活的控制文本的編輯和顯示功能。當(dāng)然由于EditBox控件只是單行編輯顯示,為了滿足多行的文本編輯以及顯示,MUILIB又重寫(xiě)了文本多行編輯控件TextEditUI,由于這些控件都是MUILIB自行重寫(xiě)的,可以非常方便的作為基礎(chǔ)控件進(jìn)行二次開(kāi)發(fā),比如開(kāi)發(fā)具有語(yǔ)法高亮功能的代碼編輯器、支持混合顯示圖片和其他控件的類(lèi)似富文本編輯器的控件等,可以起到事半功倍的效果。
3、富文本類(lèi)。及Windows系統(tǒng)的RichEdit控件的二次無(wú)窗口化封裝,封裝后的RichEdit控件基本具有Windows系統(tǒng)RichEdit類(lèi)的大部分功能,使用上也基本相同。最大的改變就是對(duì)RichEdit的顯示進(jìn)行了一些基本的改造,使其可以在Windows層窗口上進(jìn)行顯示,并對(duì)插入動(dòng)畫(huà)并動(dòng)態(tài)顯示的功能進(jìn)行了改造和封裝,使其具備了類(lèi)似QQ聊天窗口的多功能顯示聊天信息和表情的能力。
以上各控件的應(yīng)用演示可參考博客內(nèi)相關(guān)隨筆的視頻和圖片展示。
特別說(shuō)明:關(guān)于MUILIB的用法和演示程序稍后將會(huì)進(jìn)行代碼級(jí)演示,目前階段先對(duì)MUILIB的一些基礎(chǔ)知識(shí)進(jìn)行解釋性說(shuō)明,以方便后期的使用,非純產(chǎn)品廣告。