MFC - 图像列表
图像列表是相同大小的图像的集合,每个图像都可以通过其从零开始的索引来引用。 图像列表用于有效管理大量图标或位图。 图像列表由CImageList 类 表示。
序号 |
名称和描述 |
1 |
Add 将一个或多个图像添加到图像列表。 |
2 |
Attach 将图像列表附加到 CImageList 对象。 |
3 |
BeginDrag 开始拖动图像。 |
4 |
Copy 复制 CImageList 对象中的图像。 |
5 |
Create 初始化图像列表并将其附加到 CImageList 对象。 |
6 |
DeleteImageList 删除图像列表。 |
7 |
DeleteTempMap 由 CWinApp 空闲时间处理程序调用,以删除 FromHandle 创建的任何临时 CImageList 对象。 < /td>
|
8 |
Detach 从 CImageList 对象中分离图像列表对象并返回图像列表的句柄。 |
9 |
DragEnter 在拖动操作期间锁定更新并在指定位置显示拖动图像。 |
10 |
DragLeave 解锁窗口并隐藏拖动图像,以便可以更新窗口。 |
11 |
DragMove 移动在拖放操作期间被拖动的图像。 |
12 |
DragShowNolock 在拖动操作期间显示或隐藏拖动图像,而不锁定窗口。 |
13 |
绘制 绘制在拖放操作期间被拖动的图像。 |
14 |
DrawEx 在指定的设备上下文中绘制图像列表项。 该函数使用指定的绘图样式并将图像与指定的颜色混合。 |
15 |
DrawIndirect 从图像列表中绘制图像。 |
16 |
EndDrag 结束拖动操作。 |
17 |
ExtractIcon 根据图像列表中的图像和蒙版创建图标。 |
18 |
FromHandle 当给定图像列表的句柄时,返回指向 CImageList 对象的指针。 如果 CImageList 对象未附加到句柄,则会创建并附加临时 CImageList 对象。 |
19 |
FromHandlePermanent 当给定图像列表的句柄时,返回指向 CImageList 对象的指针。 如果 CImageList 对象未附加到句柄,则返回 NULL。 |
20 |
GetBkColor 检索图像列表的当前背景颜色。 |
21 |
GetDragImage 获取用于拖动的临时图像列表。 |
22 |
GetImageCount 检索图像列表中的图像数量。 |
23 |
GetImageInfo 检索有关图像的信息。 |
24 |
GetSafeHandle 检索m_hImageList。 |
25 |
Read 从存档中读取图像列表。 |
26 |
Remove 从图像列表中删除图像。 |
27 |
Replace 用新图像替换图像列表中的图像。 |
28 |
SetBkColor 设置图像列表的背景颜色。 |
29 |
SetDragCursorImage 创建新的拖动图像。 |
30 |
SetImageCount 重置图像列表中的图像计数。 |
32 |
SetOverlayImage 将图像的从零开始的索引添加到要用作叠加蒙版的图像列表中。 |
33 |
Write 将图像列表写入存档。 |
让我们使用以下设置创建一个新的 MFC 应用程序 MFCImageListDemo。
步骤 1 − 将 bmp 文件添加为应用程序中的资源。
步骤 2 − 在 CMFCImageListDemoView 类的头文件中,添加以下两个变量。
CImageList ImageList;
int nImage;
步骤 3 − 在 CMFCImageListDemoView 的构造函数中添加以下代码。
CMFCImageListDemoView::CMFCImageListDemoView() {
// TODO:在此处添加构造代码
ImageList.Create(800, 800, ILC_COLOR, 4, 1);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
ImageList.Add(&bmp, RGB(0, 0, 0));
}
步骤 4 − 按如下方式调用 CImageList::Draw() 方法。
void CMFCImageListDemoView::OnDraw(CDC* pDC) {
CMFCImageListDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
nImage = 0;
ImageList.Draw(pDC , nImage, CPoint(0,0), ILD_NORMAL);
Invalidate();
if (!pDoc)
return;
// TODO: add draw code for native data here
}
步骤 5 − 当您运行此应用程序时,您将看到以下输出。
❮ mfc_windows_controls.html