VC程式使用CImageList類

2021-06-15 04:31:17 字數 1599 閱讀 4457

要說cimagelist類已經不是第一次接觸了,這個類在一些vc程式裡面經常會用到。

小弟在下面總結了一些自己用到的情況:

首先在*.h標頭檔案裡面加入cimagelist類的定義:

[cpp]view plain

copy

cimagelist m_imglist;  

然後在類的實現*.cpp裡面使用下面的**建立cimagelist鍊錶:

[cpp]view plain

copy

//建立cimagelist物件

m_imglist.create(16,16,ilc_color24,11,0);  

//設定背景色

m_imglist.setbkcolor(rgb(255,255,255));  

//圖示陣列

uint

niconid=;  

//依次將圖示id加入鍊錶

for(

intindex=0;index<11;index++)  

在mfc裡面很多控制項類都有setimagelist這個函式,這個函式可以使圖示和控制項類關聯在一起。只不過每個控制項的具體實現不一樣,引數也不一樣。

下面是clistctrl這個控制項類的實現:

[cpp]view plain

copy

m_listctl.setimagelist(&m_imglist,lvsil_small);  

實現之後列表框的效果,看起來還不錯:

除此之外有些insertitem函式也有乙個nimage的引數,這個引數是乙個int型別的變數。所以我們要將圖示同時插入的時候,只要在這個函式裡面指定一下圖示在cimagelist鍊錶裡面的索引之就ok了!

[cpp]view plain

copy

//tab控制項的一種使用形式

setimagelist(&m_imglist);  

uint

idx = 0;  

for(idx = 0; idx 

//tree控制項的一種使用形式

m_treectrl.setimagelist(&m_imglist,tvsil_normal);  

htreeitem hitem1=m_treectrl.insertitem(_t("1級子節點01"

),0,1,hroot);  

//引數0,1也是nimage引數,分別代表兩個nimage索引

cstring strtext;  

for(

intindex=0;index<=50;index++)    

cimagelist類還可以用在其它的場合,比如在基於對話方塊的工具欄的實現、樹形列表的實現、tab的實現等等,可以說使用範圍非常廣泛了!

下面看一下小弟實現的幾種形式:

tree控制項的效果,比如說實現像qq這樣的軟體的時候可以嘗試一下:

tab控制項的效果,個人感覺有點像瀏覽器的選項卡,所以搞了一下看看效果:

發現自己自從上次經過了福昕的筆試之後就再也不懼查文件了,可能是那次的一下午的經歷讓我喜歡上msnd了吧!

VC程式使用CImageList類

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

使用VC 編譯驅動程式

4,修改工程屬性。選擇 project setting 或者直接按下alt f7鍵,彈出 project settings 在對話方塊中,選擇 general 選項卡。將intermediate files和output files都改為 mydriver check.注 此處資料夾名稱可根據自己需...

VC 掃雷程式

今年最後一天上班,閒的無聊,研究了下掃雷,瞬間把我手動記錄181秒提高到1秒 winmine.h inte ce for the cwinmine class.if defined afx winmine h a4a77ae4 c744 4838 b6f9 bb4b52188135 included...