暫存 後期再整理

2021-08-09 03:31:22 字數 1731 閱讀 1031

當前審閱,換膚.

度的事件,確認後去改變透明度。有些朋友不知道怎麼去改變duilib的乙個控制項的透明度,其實很簡單:為對應的控制項

設定乙個背景圖並且設定fade屬性,比如bkimage="file='ui\lefttab\list_bk.png' fade='122'",背景圖是任意的,關鍵

在於fade屬性,他是改變透明度的屬性,所以只要動態修改這個屬性的值就可以改變任意控制項的背景的透明度

了。2.

問題出在xml檔案中,用xml檔案動態建立控制項是用duilib時的常用功能,而我們千萬不要在建立自定義控制項的xml檔案中使用標籤,

否則每次建立乙個自定義控制項,就會增加相應數量的font物件,而font物件是直接在cpaintmanager類中增加的,

同樣也是在程式結束時才會被釋放。偶爾一兩個這樣的控制項無所謂,但是如果用在list中被建立了成千上百個,

gdi洩漏就太明顯!所以標籤最好統一宣告到主xml檔案或者專門宣告資源的xml檔案中!切記

3.貼圖

如果是從檔案載入,設定file屬性,如file='***.png',不要寫res和restype屬性

如果是從檔案載入,設定file屬性,如file='***.png',不要寫res和restype屬性

如果從資源載入,設定res和restype屬性,不要設定file屬性

dest屬性的作用是指定繪製在控制項的一部分上面(繪製目標位置)

source屬性的作用是指定使用的一部分

corner屬性是指安裝scale9方式繪製

mask屬性是給不支援alpha通道的格式(如bmp)指定透明色

fade屬性是設定繪製的透明度

hole屬性是指定scale9繪製時要不要繪製中間部分

4.換膚

duilib是乙個以貼圖為主要表現手段的介面庫,實現換膚非常簡單,可以通過給控制項設定不同的來實現換膚,比如給需要換膚的控制項呼叫ccontrolui::setbkimage。但是針對換膚功能,duilib提供了更為簡單的方法,即使用cpaintmanagerui::reloadskin。

假設我們給程式建立了兩套**,分別打包成skin1.zip和skin2.zip,在程式執行的時候,執行:

cpaintmanagerui::setresourcezip(_t("skin2.zip")); // 或者skin1.zip

cpaintmanagerui::reloadskin();

這樣簡單的兩行**,就實現了全部視窗從skin1**到skin2**的切換。你也可以隨時再次呼叫上面兩行**,把**切換回去。

5.資源打包

duilib使用資源打包功能非常簡單,在程式開發完成後只需做兩個步驟即可:

進入資源目錄,然後使用具備zip壓縮功能的軟體(如winrar、winzip、7zip等)把布局xml和等資源壓縮到乙個zip檔案包裡。

在winmain函式中cpaintmanagerui::setinstance(hinstance)的後面加入cpaintmanagerui::setresourcezip(_t("***.zip")),如

int apientrywinmain(hinstance hinstance, hinstance /*hprevinstance*/, lpstr /*lpcmdline*/,int ncmdshow)

這樣就完成了資源打包功能,發布程式只需要把exe、dll和zip檔案帶上就行了。有時為了需要,也可以修改.zip為其他副檔名,比如.dat。

6.檔案拖拽功能.

7.拓展edit布局功能

碎片 後期整理

苦於前端學習 碎片化太嚴重.我準備在這裡記錄一下我的一些零碎的知識片段 ps 主要是學過了就忘.方便以後回顧 1.只能用雙引號 2.所有的key都必須用雙引號包裹 前端可以不考慮 利用url 傳物件 let json let str encodeuricomponent json.stringify...

線段樹再整理

和思路來自 傳送門 建樹模板 一 線段樹基本概念 1 概述 線段樹,類似區間樹,是乙個完全二叉樹,它在各個節點儲存一條線段 陣列中的一段子陣列 主要用於高效解決連續區間的動態查詢問題,由於二叉結構的特性,它基本能保持每個操作的複雜度為o lgn 性質 父親的區間是 a,b c a b 2 左兒子的區...

web流程設計器再整理

時隔多年,前端發展實在迅猛,各類框架層出不窮,在優雅,簡潔,高效以及維護方面各有千秋,只是回過頭來看看,自己 還是對jquery最順手,作為個人的業餘愛好玩玩,基於jquery ui體系寫 實在是很舒服的一件事情。回到正題,在09年的時候,當時順手寫過乙個jbpm4的web流程設計器,非常簡單的乙個...