CImageList類Create函式引數解析

2022-08-12 19:42:14 字數 922 閱讀 7656

前面提到了cimagelist類的create(...)函式,雖然msdn上已經有所解釋,但仍有網友問到引數的具體含義,下面就我的理解,對引數進行一次輕量級的剖析

函式原型(其他過載函式請參看msdn):

bool create(

intcx,

intcy,

uintnflags,

intninitial,

intngrow);

cx

的實際畫素寬與高,沒有問題

nflags:

建立影象列表的型別,包括4/8/16/24/32/位色,

ninitial :建立imagelist初始包括的影象個數ngrow當初始分配的影象個數不夠的時候,新增乙個時,指定圖象列表能增加的新圖象個數,影象列表空間不夠而繼續新增image時,將按照ngrow繼續分配空間,設計時根據具體情況設定合適的值,避免記憶體頻繁的改變影象列表而過度頻繁而使系統記憶體碎片化例如

ninitial = 2,ngrow=3

當你新增了兩個影象元素以後,還想新增第三個的時候,初始建立分配的ninitial已經使用完了,此時,系統會根據ngrow,為自動增大imagelist3個元素容量,此時我們的imagelist就可以容納5個影象元素了,如果5個使用完畢後,會繼續按照ngrow進行再分配,類似於乙個可變陣列,但引數到底設定多少,還是要根據實際的情況設定合理的值,一要避免浪費空間,又要避免頻繁的對image容器進行resize操作

VC程式使用CImageList類

要說cimagelist類已經不是第一次接觸了,這個類在一些vc程式裡面經常會用到。小弟在下面總結了一些自己用到的情況 首先在 h標頭檔案裡面加入cimagelist類的定義 然後在類的實現 cpp裡面使用下面的 建立cimagelist鍊錶 在mfc裡面很多控制項類都有setimagelist這個...

VC程式使用CImageList類

要說cimagelist類已經不是第一次接觸了,這個類在一些vc程式裡面經常會用到。小弟在下面總結了一些自己用到的情況 首先在 h標頭檔案裡面加入cimagelist類的定義 cpp view plain copy cimagelist m imglist 然後在類的實現 cpp裡面使用下面的 建立...

CImageList類Create函式引數解析

前面提到了cimagelist類的create 函式,雖然msdn上已經有所解釋,但仍有問到引數的具體含義,下面就我的理解,對引數進行一次輕量級的剖析 函式原型 其他過載函式請參看msdn bool create intcx,intcy,uintnflags,intninitial,intngrow...