`
tempsitegoogle
  • 浏览: 885744 次
文章分类
社区版块
存档分类
最新评论

CImageList使用指南

 
阅读更多

1.
MFCCImageList封装了像列表控件的功能,像列表是一个具有相同大小的像(可以是不同型)的集合,其主要用于用程序中大图标的存控件是不可的,通常与其它如CListBoxCComboBoxCComboBoxExCTabCtrl以及CTreeCtrl一起使用,提供图标资源。

象的个集合中均以0为图象索引基数,可以把图标看成是以数方式存的,像列表通常由大图标或位构成,其中包含位模式。实际上,所有的在同一个象列表中的图标都被存在一个屏幕设备的位中。

2.添加像的两方法
通常可以向CImageList象中添加位图标资源。其源可以是程序中源文件中的源,也可以直接从外部文件入。

(1)从程序中源文件中添加图标和位图图像如下所示(通常是最为简单的方法):

//建一个CImageList的指针变
CImageList* pImageList;
pImageList =
newCImageList();
pImageList->Create(32, 32, ILC_COLOR32, 0, 4);
//必不可少

//添加图标图标可以随像列表大小自拉伸
pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON1));
pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON2));

//添加位,并使黑色透明色,如果像列表大小和位大小不一致可能会致天添加失
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 =
new CBitmap;
//从文件入位

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 类的指针变量,然后使用 Create 方法初始化图像列表。接着,可以使用 Add 方法添加图标和位图资源。例如: CImageList* pImageList; pImageList = new CImageList(); pImageList->...

    VC++ GDI+ CImageList缩略图 常用格式图片浏览器

    在本文中,我们将深入探讨如何使用VC++、GDI+和CImageList库来创建一个能够浏览常用图像格式(如PNG和JPG)的图片浏览器。这个项目是基于VS2008开发环境并在Windows 7操作系统上运行的。通过理解并应用以下知识点,...

    VC++/MFC 的 CImageList 绘制背景透明的位图

    2. **创建`CImageList`**:使用`CImageList`的构造函数创建一个新实例,传递位图的大小和颜色深度。例如,`CImageList imageList( cx, cy, ILC_COLOR32 | ILC_MASK, 0, 1 )`,其中`cx`和`cy`是位图的宽度和高度,`...

    CListCtrl的图片格式 关联CImageList,显示缩略图

    在标题"‘CListCtrl的图片格式 关联CImageList,显示缩略图"中,我们关注的是如何使用CListCtrl显示图片,特别是缩略图。首先,我们需要创建一个CImageList对象,并加载或创建要显示的图像。这可以通过调用...

    vc.rar_CImageList DRAW_Cimagelist_VC CImageList

    本主题将深入探讨如何使用CImageList类在VC++应用中实现类似GIF动画的效果。CImageList是MFC(Microsoft Foundation Classes)库中的一个关键组件,它允许程序员高效地管理和操作图像列表。 CImageList类主要用于...

    CImagelist-user.rar_Cimagelist

    `CImageList` 是一个基于 GDI(Graphics Device Interface)对象 `IMAGEINFO` 的类,它允许程序员在一个列表中存储多个位图,并且这些位图可以被控件如树视图、列表视图或自定义控件使用。`CImageList` 提供了一种...

    VC_data_control.rar_CTreeview_Cimagelist_VC CImageList_VC_data_c

    通过使用CImageList,开发者可以轻松地改变控件的视觉外观,如改变节点的图标,这在处理大量数据时尤其有用。CImageList还可以节省内存,因为它可以存储多态图像,而无需为每个状态创建单独的图像资源。 **数据显示...

    使用CImageList拖动时克服窗口闪烁

    标题"使用CImageList拖动时克服窗口闪烁"涉及的关键知识点是关于优化Windows应用程序的视觉效果,特别是当涉及到CImageList类和拖放操作时。CImageList是MFC提供的一种用于存储和管理图标、位图等图像资源的类,而在...

    BmpMenu.rar_Cimagelist_mfc位图显示

    在本案例中,我们关注的是如何使用CImageList来在菜单上动态显示位图,这为应用程序的用户界面增加了视觉吸引力和交互性。 标题“BmpMenu.rar_Cimagelist_mfc位图显示”暗示了我们将探讨如何创建一个名为“BmpMenu...

    VC通用控件编程之CImageList控件.pdf

    CImageList控件通常与其他控件如列表视图(CListCtrl)、树视图(CTreeCtrl)和标签控件(CTabCtrl)结合使用,以增强界面的视觉效果和用户体验。 1. **在列表控制中的应用**: - `CListCtrl::SetImageList`用于...

    范例双缓冲之超级打酱油

    通过这种方式,"范例双缓冲之超级打酱油"不仅展示了如何使用CImageList来处理BMP动画,还演示了如何利用双缓冲技术提高用户体验,创造出平滑、无闪烁的动画效果,这对于开发游戏、动态GUI或其他需要动态视觉元素的...

    实验四 框架窗口 (1).rar_Cimagelist_窗口架构

    本实验中,Ex_Form 是用表达视图来进行学术的课程成绩管理的一个简单例 程。同时,为了能用列表视图来显示学生的课程成绩,还添加了“多视图的切换” ...文档和文件夹的本地查找以及 CImageList 类的使用等。

    在MFC中,用CImageList加载位图,建立菜单项与位图的索引,在菜单上显示位图。

    使用`CImageList::Add`或`CImageList::LoadBitmap`方法加载位图文件。假设我们有一个名为`bmp_menu.bmp`的位图文件,加载过程如下: ```cpp HBITMAP hBitmap = AfxGetApp()->LoadBitmap(IDB_BMP_MENU); // IDB_...

    CListCtrl的使用完全指南.txt

    ### CListCtrl的使用完全指南 #### 概述 `CListCtrl`是Microsoft Foundation Class (MFC)库中的一个类,它代表了一个列表控件(`ListView`控件),可以用来显示一系列条目,每个条目又可以包含多个子项。`...

    mfc 使用imagelist 实现richedit显示gif

    在MFC(Microsoft Foundation Classes)框架中,使用`CImageList`类可以处理图像列表,包括GIF格式的动画图像。`CImageList`是MFC提供的一种强大的工具,它允许程序员在一个对象中存储和管理多个图像,并可以方便地...

    CListCtrl中列表显示任意图片

    本篇文章将深入探讨如何在CListCtrl中显示任意图片,通过结合使用CImageList类来实现这一功能。 首先,我们需要了解CListCtrl的基本用法。CListCtrl是一个视图类,它继承自CWnd,用于创建一个包含多列和多行的列表...

    用BCMenu动态创建弹出菜单示例

    CImageList的使用方法包括创建、加载图标、关联到BCMenu以及设置特定菜单项的图标等步骤。 动态创建菜单意味着在程序运行时,而不是在编译时创建菜单。这通常用于根据用户输入或应用程序状态来调整菜单项。例如,当...

    用BCMenu动态创建带图标的弹出菜单

    2. **添加图标**:使用`CImageList::Add`或`CImageList::Insert`函数将图标添加到图像列表中。图标可以从资源文件、位图文件或其他地方获取。 3. **创建BCMenu对象**:创建一个`CBCMenu`对象,它是`BCMenu`库中的...

Global site tag (gtag.js) - Google Analytics