下面我們介紹一下duilib的另一種特性,那就是可以定製預設樣式,這樣做有什麼好處呢?
假如我們有10個按鈕,按鈕樣式都一樣,如果用之前介紹的方式,則需要在每個button節點都指定背景、寬度、高度等資訊,一旦需要改動任何乙個屬性,則需要在10個按鈕裡面都改一次,所以為了方便修改,我們可以指定乙個預設樣式,就算有100個按鈕,我們也只需要改一次屬性。
方法如下:
給節點新增乙個default節點即可,其中name屬性填寫控制項的名字,value屬性新增控制項的屬性的值,不過需要將雙引號【"】換成【"】,單引號【』】換成【』】,單引號也可以不轉換。
xml如下(由於標題欄基本不再變化,所以後面的教程將省略
那一段xml):
size
="800,600"
mininfo
="600,400"
caption
="0,0,0,32"
sizebox
="4,4,4,4"
>
name
="button"
value
=" height="25" width="60" normalimage="file='btnstyle\xp\button_nor.png'
" hotimage="file='btnstyle\xp\button_over.png'
" pushedimage="file='btnstyle\xp\button_down.png'
" focusedimage="file='btnstyle\xp\button_focus.png'""
/>
bkcolor
="#fff0f0f0"
bkcolor2
="#ffaaaaa0"
>
>
text
="xp"
float
="true"
pos="20,14,0,0"
height
="25"
/>
text
="win7"
float
="true"
pos="20,50,0,0"
height
="25"
/>
text
= float
="true"
pos="20,86,0,0"
height
="25"
/>
float
="true"
pos="20,132,0,0"
height
="25"
/>
horizontallayout
>
verticallayout
>
window
>
duilib對MFC的支援
關注duilib很久了,前段時間剛好有個mfc專案,對ui要求比較高,苦於duilib是基於win32開發的,而我對win32只有皮毛的了解,只好試著看源 發現裡面有mfc的乙個demo,但是編譯通不過,無奈只好試著看作者的思路,經過幾天的摸索,終於成功運用到mfc專案中。先上效果圖,再解釋 上 1...
DUILIB的訊息處理HandleMessage
duilib還提供了另外一種響應的方法,即訊息對映dui begin message map,可以將dui msgtype click訊息對映到指定的函式 比如onclick 這和在notify判斷msg.stype是一樣的效果,具體請參見duilib的richlistdemo。先看看下面幾段 du...
Duilib中caption的問題
caption的作用是自繪標題欄,主要包括左上角的title和右上角的系統按鈕。修改xml 新增caption及圓角以及title部分 2在 修改 在子類中先將系統標題欄進行遮蔽,這樣得到灰色的不帶系統標題的對話方塊 lresult onncactivate uint umsg,wparam wpa...