title: array[byte] to HBITMAP or CBitmap
body: <p>I have an array of bytes (which I read through a stream directly from a .bmp and then store as a BLOB in a database) which I want to display as icons in a CImageList. Therefore I want to somehow load my data into an HBITMAP or CBitmap. I have done it like this up to now, reading from a file:</p>
  
  <pre><code>hPic = (HBITMAP)LoadImage(NULL, strPath, IMAGE_BITMAP, dwWidth, dwHeight, LR_LOADFROMFILE | LR_VGACOLOR);
  ...
  CBitmap bitmap;
  bitmap.Attach(hPicRet);
  </code></pre>
  
  <p>But obviously, that only works for files, but not for byte-arrays. How can I get the same result, but reading from an array of byte? </p>
  
  <p><strong>Edit:</strong>
  Note that my array does not contain just the colour information, but rather the complete file as it is written on disk, including all headers and meta-data. It seems to me that discarding all that information is a bad idea.</p>