Storing Bitmaps into an Array

Environment: VC6, NT4

Introduction

The CArrayBITMAP class stores a Windows bitmap and provides member functions to manipulate the bitmap's array.

Bitmaps are stored in an array with elements such as a BITMAP structure. This class is recommended for temporary image storage. Bitmaps may be any standard type and size. The quantity of kept images is limited to the system's memory size and maximal size of type integer.

This class has the following public functions for its use:

//add new bitmap from object CBitmap, return Bitmap Index in array
int Add(CBitmap * pCBitmap);
//add new bitmap from pointer
int
Add(LPBITMAP pBITMAP);
//get bitmap's count in array
int GetSize();
//replace bitmap by index
BOOL Replace(int iIndex, LPBITMAP pBITMAP);
//remove bitmap from array by index
BOOL Remove(int iIndex);
//remove all bitmaps from array
void RemoveAll();
//return pointer to bitmap in array (get bitmap)
LPBITMAP GetAt(int iIndex);

Example of This Class's Use

CArrayBITMAP arrayBitmaps;
CBitmap m_bitmap;

     m_bitmap.LoadBitmap(OBM_MYBIT);     //load from resources
int
  iIndex = arrayBitmaps.Add(&bit);       //add bitmap to array

...

CBitmap bitStored;
LPBITMAP pBmp = arrayBitmaps.GetAt(iIndex);
//get bitmap from array
    if(pBmp != NULL)
      bitStored.CreateBitmapIndirect(pBmp);
...

Downloads

Download source - 3.32 Kb