Duilib教程-簡單介紹

在讀這篇博客的時候,可能您已經對duilib有必定的瞭解。因此,我並不打算對duilib進行過多的介紹。它的內核首先由外國人編寫,後來由國人一個小組接過來繼續編寫,因而就有了如今的Duilib。git

 

1.下載Duilibgithub

首先它託管在Google,後來不知道是否是因爲大陸將 Google 全面封鎖,將搜索引擎禁用了不算,還將技術網站都封閉了。因此,Duilib又託管到了 Github。因此在學習它以前,你須要學習如何利用Github,將Duilib下載到本地進行編譯、運行。windows

 

1)首先下載 GitHub for Windows. https://windows.github.com/編輯器

2)註冊一個賬號。函數

3)打開網站https://github.com/duilib/duilib工具

 

看到網站右邊的按鈕,如上圖的紅框處,點擊」Clone in Desktop」按鈕,保存到本身的賬號中,並能下載到本地中,保存到本地,主要是爲了便於即時更新。當Duilib有更新時,你能夠利用本地的Github工具進行更新。學習

 

4)打開本地的目錄。網站

 

 

如上圖右上角的紅框操做。ui

 

2.編譯DUILIB搜索引擎

DuiDesigner.sln 這個文件是 XML 編輯器。

DuiLib.sln 這個是DUILIB 源文件及Demo源文件。

使用VS2008進行編譯。

 

3.Dui原理小解。

原來的WINDOWS界面,主要是要WND疊加組成,如:

 

每一個WND都有本身的消息處理循環。這樣很差的地方是,

1)繪製不方便。好比你要在一個Button上繪製一張半透明的背景圖片,若是你使用了 MemDC,要處理透明繪製就會至關麻煩,甚至會有難以預測的BUG。

2)能夠給病毒可趁之機。能夠利用FindWindow查找Button的句柄,而後向它發送WM_LBUTTONDOWN和WM_LBUTTONUP消息,就能夠實現單擊的效果。之前舊版的QQ就存在這個BUG。如今已經不多有這個BUG了。

 

Dui一個Wnd它的上面沒有多餘的Wnd,因此的控件都是虛擬出來的,並不具有本身的消息循環,它們都用WND的消息循環。簡單的描述以下圖:

 

將消息傳遞到控件,主要就是經過 control_from_point 這樣的一個函數,經過鼠標的座標點進行判斷是哪一個控件,並將由該控件進行響應鼠標消息。

 

Duilib 的簡單介紹就到這裏了。

在學習一個東西的時候,我並不傾向於一開始就學習內核、源碼。我以爲首先應該學習如何何用它,當你會用它了,去理解它的內核代碼纔會順暢,也纔看得明白。

因此,下一節將介紹 UIDesigner 的使用。

相關文章
相關標籤/搜索