CImageList使用指南

2021-04-14 06:32:44 字數 1882 閱讀 5791

1.綜述

在mfc

中cimagelist

類封裝了

影象列表控制項的功能,

影象列表是乙個具有相同大小的

影象(可以是不同

型別)的集合,其主要用於

應用程式中大規模

圖示的儲存。

該控制項是不可

見的,通常與其它如

clistbox

,ccombobox

,ccomboboxex

,ctabctrl

以及ctreectrl

一起使用,為他

們提供圖示資源。 圖

象的每個集合中均以0為圖

象索引基數,可以把這些

圖示看成是以數

組方式儲存的,

影象列表通常由大

圖示或位

圖構成,其中包含位

圖模式。

實際上,所有的在同乙個

圖象列表中的

圖示都被存

儲在乙個螢幕

裝置的點陣圖中。

2.新增圖

像的兩種

方法通常可以向

cimagelist

物件中新增點陣圖和

圖示資源。其

資源可以是程式中

資源檔案中的

資源,也可以直接從外部檔案調入。

(1)從程式中

資源檔案中新增

圖示和位

圖影象如下所示(通常這是最

為簡單直

觀的方法):

// 建立乙個cimagelist類的指

針變數cimagelist* pimagelist;

pimagelist =

newcimagelist();

pimagelist->create(32, 32, ilc_color32, 0, 4);

// 必不可少

// 新增圖示,

圖示可以隨

影象列表大小自動拉伸

// 新增位

圖,並使黑色

為透明色,如果

影象列表大小和位

圖大小不一致可能會

導致天新增失

敗cbitmap bmp;

bmp.loadbitmap(idb_bitmap1)

pimagelist->add(&bmp, rgb(0, 0, 0));

bmp.deleteobject();

bmp.loadbitmap(idb_bitmap2)

pimagelist->add(&bmp, rgb(0, 0, 0));

(2)從外部檔案中新增

圖示和位

圖影象代

碼如下所示(

這種方法可以是可

執行程式更小,便於發行)

hbitmap hbitmap;

cbitmap *pbitmap;

cstring filepathname = "e:/time.bmp";

pbitmap =

newcbitmap;

//從檔案匯入位

圖 hbitmap=(hbitmap)loadimage(afxgetinstancehandle(

),filepathname,

image_bitmap,

0,0,lr_loadfromfile);

pbitmap->attach(hbitmap);

m_pimagelist->add(pbitmap, rgb(0,0,0));

這樣乙個

影象列表控制項就

建立好了,並且已

經新增了

影象,接下來就可以在其它控制項中使用其中的影象。

通常需要

呼叫setimagelist(m_pimagelist)將當前

影象列表設定

為引用影象源。

CImageList使用指南

cimagelist使用指南 1.綜述 在 mfc中cimagelist類封裝了影象列表控制項的功能,影象列表是乙個具有相同大小的影象 可以是不同型別 的集合,其主要用於應用程式中大 規模圖示的儲存,該控制項是不可見的。通常與其它如clistbox,ccombobox,ccomboboxex以及ct...

CImageList使用指南

1.綜述 在mfc中cimagelist類封裝了影象列表控制項的功能,影象列表是乙個具有相同大小的影象 可以是不同型別 的集合,其主要用於應用程式中大規模圖示的儲存。該控制項是不可見的,通常與其它如clistbox,ccombobox,ccomboboxex,ctabctrl以及ctreectrl一...

CImageList使用指南

1.綜述 在mfc中cimagelist類封裝了影象列表控制項的功能,影象列表是乙個具有相同大小的影象 可以是不同型別 的集合,其主要用於應用程式中大規模圖示的儲存。該控制項是不可見的,通常與其它如clistbox,ccombobox,ccomboboxex,ctabctrl以及ctreectrl一...