第一章 第一小節Duilib基本架構

  在互聯網時代,由於信息傳播的便利,出現了許多共享的開源產品,這是許多小公司和工作室最大的福利,甚至爲某些大機構和公司也提供了許多共享的知識方案,其中duilib就是這樣一種可以商用的知識庫,在剖析duilib這個開源庫之前,對共享知識的原作者表示感謝。
  本書的讀者,主要面對的是初入行的小白程序員,第一個問題,Duilib是什麼,由什麼開發。Duilib是一款強大的用於C++界面開發的工具庫。它採用直接繪製的方式,生成各種子控件,這種方式許多時候又稱DirectUI。這個時候,必須提下一個基礎知識,在win32桌面應用下,微軟爲大家開發窗口提供的原生接口,就是基於窗口句柄的形式創建的。這種方式爲適用窗口在許多方面的應用場景,涉及到知識點非常複雜,不利於專注於界面的繪製。這時候就誕生了這種直接繪製的方式稱爲DirectUI。
  經過原作者和開源界的不斷完善和努力,duilib作爲一種界面開發方式,已經相對成熟,當然不可以避免的具有一些開源庫的通病,就是在使用起來的時候,還是有許多的bug。所以如果你打算使用它開發一款商業產品的界面,還是需要對它本身非常熟悉,這樣纔可以輕車熟路的解決一些bug。
  基於前面介紹到特點,它採用c++開發,基於語言方面使用的便利性,它使用最多的場景還是作爲c++語言項目的界面庫。當然更準確的來說,它基本採用win32的api來繪製,所以主要應用在windows上運行的軟件項目。
前面的基本特點已畢,進入技術視角。
  duilib作爲一個採用c++開發的庫,它肯定是由一些列類組成,所以需要搞清楚這些類之間的繼承和組合關係,然後才能方便恰當的使用它們,第一個圖是控件關係圖。如下所示:

基礎控件關係圖
  從上圖中可以看出,所有的控件都繼承至基礎控件CControlUI這個類,所以這個類的內容,是底層繪製的關鍵。在後面的章節中,再詳細展開,順便提一句,在學習一個新庫的時候,一定要有一定的耐心和時間,才能牢牢掌握一個庫,否則在出現問題時候,很難分析源頭。
  第二個圖是容器關係圖,有一定界面編程的朋友,都知道,爲了方便界面控件的擺放,需要許多基礎的容器控件來輔助界面設計,這些就是界面容器,如下圖所示:

在這裏插入圖片描述
  在上圖中,可以清晰看到界面容器類CContainerUI它繼承至CControlUI和IContainerUI接口,說明它本身也是一個控件,一個可以包含子控件的容器控件。有了以上兩張圖的瞭解,相信大家對duilib這個庫有了基礎的瞭解。後面有更詳細的介紹。

歡迎光臨知了軟件開發網絡平臺,本公司定製開發各類軟件,主要方向爲桌面專業軟件開發和插件定製開發,桌面軟件主要包括文字圖形識別類軟件,信息管理類軟件,3D打印類軟件,視頻類軟件以及其它涉及專業的各類圖形圖像處理軟件。插件包含AE插件,AI插件,PS插件,PDF插件,3DMAX插件以及Word,Excel等Office插件開發。詳情請諮詢,微信QQ:312117271,手機:18928899728,郵箱: [email protected].
公司網址:http://www.zhiliaos.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章