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一...