图像列表是相同大小图像的集合,每个图像都可以通过从零开始的索引来引用,图像列表用于有效管理大量图标或位图,图像列表由 CImageList类表示。

让无涯教程使用以下设置创建一个新的MFC应用程序 MFCImageListDemo 。

MFCImageListDemo

步骤1 - 将bmp文件作为资源添加到您的应用程序中。

步骤2 - 在CMFCImageListDemoView类的头文件中,添加以下两个变量。

CImageList ImageList;
int nImage;

步骤3 - 在CMFCImageListDemoView的构造函数中添加以下代码。

CMFCImageListDemoView::CMFCImageListDemoView() {
   //TODO: add construction code here
   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 - 运行此应用程序时,将看到以下输出。

Image Lists

参考链接

https://www.learnfk.com/mfc/mfc-image-lists.html